c++ - Failed to do checkpoint -
int ireturn = sqlite3_wal_checkpoint_v2(m_podb, null, sqlite_checkpoint_full, &isizeofwallog, &inumofcheckpointedframes); returns ireturn = 5 (sqlite_busy). writer wakes , then, adds or deletes number of rows database, checkpoint , goes sleep again.
question 1: how possible if use wal mode , have 4 readers , 1 writer?
question 2: in log messages have seen checkpointing works reports sqlite_busy. should concerned if works not always? can corrupt database?
question 3: should not use sqlite3_wal_checkpoint_v2 or sqlite_checkpoint_full?
a full checkpoint requires there no concurrent readers or writers.
you try increase busy timeout, if try checkpoint regularly, away ignoring single failures.
Comments
Post a Comment