Implement live read replication

This commit adds an http server and client for streaming snapshots
and WAL pages from an upstream Litestream primary to a read-only
replica.
This commit is contained in:
Ben Johnson
2022-02-19 07:46:01 -07:00
parent 4898fc2fc1
commit a090706421
19 changed files with 1241 additions and 57 deletions

19
testdata/wal-writer/live/README.md vendored Normal file
View File

@@ -0,0 +1,19 @@
WAL Writer Live
=================
This test is to ensure we can copy a WAL file into place with a live DB and
trigger a checkpoint into the main DB file.
To reproduce the data files:
```sh
$ sqlite3 db
sqlite> PRAGMA journal_mode = 'wal';
sqlite> CREATE TABLE t (x);
sqlite> PRAGMA wal_checkpoint(TRUNCATE);
sqlite> INSERT INTO t (x) VALUES (1);
sqlite> CTRL-\
```

BIN
testdata/wal-writer/live/db vendored Normal file

Binary file not shown.

BIN
testdata/wal-writer/live/db-shm vendored Normal file

Binary file not shown.

BIN
testdata/wal-writer/live/db-wal vendored Normal file

Binary file not shown.