Skip to content

Locking and requirements for applications #98

Answered by benbjohnson
dghubble asked this question in Q&A
Discussion options

You must be logged in to vote

Hi @dghubble, thanks for the feedback. The locking mechanism turns out to be a historical artifact of how Litestream worked originally and I should be able to remove it. I wrote up an issue for it (#99) but the tl;dr is that Litestream relied on SQLite to validate transaction boundaries in the WAL originally but that validation has been moved into Litestream so the lock isn't necessary anymore.

I added the issue to the v0.3.3 release that I'm hoping to get out by the end of the week. That should make for a much more pleasant experience with applications that don't use a busy timeout.

For mattn/go-sqlite3, you can specify a _busy_timeout=1000 in the connection string and that should fix it…

Replies: 1 comment 8 replies

Comment options

You must be logged in to vote
8 replies
@dghubble
Comment options

@benbjohnson
Comment options

@dghubble
Comment options

@benbjohnson
Comment options

@dghubble
Comment options

Answer selected by benbjohnson
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants