Hi, I'm running into a problem where an `END TRANSACTION;` statement takes several seconds to complete (via sqlite3_profile) on a database in WAL mode. The transaction was exclusive (i.e. `BEGIN EXCLUSIVE TRANSACTION;`). The transactions are small with only a ~10 inserts of small data.
Perhaps relevant: a single concurrent reader is creating/ending deferred transactions several times a second alongside the writer. My first thought was that an automatic checkpoint was causing the transaction to block for so long. However, based on my reading of the documentation, it appears that all automatic checkpoints are "passive" and so should not block the checkpointer? I don't see how the writer is being blocked for so long. Can anyone provide hints on how to further debug this? -- Patrick Donnelly