Streaming replication for SQLite.
114 matches across 7 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | compactor.go | 21 | |
| LOW | db.go | 41 | DefaultSyncBackoffMax = 5 * time.Minute // Maximum backoff between retries |
| LOW | db.go | 81 | syncedSinceCheckpoint bool |
| LOW | db.go | 141 | // A forced truncation checkpoint will block new transactions and wait for |
| LOW | replica_test.go | 101 | // |
| LOW | replica_client.go | 21 | Type() string |
| LOW | replica.go | 521 | |
| LOW | db_internal_test.go | 1221 | // After bulk inserts trigger a checkpoint, litestream should NOT enter a self-perpetuating |
| LOW | .goreleaser.yml | 181 | # - main |
| LOW | vfs.go | 1701 | // SetWriteEnabledWithTimeout enables or disables write support at runtime with an optional timeout. |
| LOW | v3.go | 141 | } |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 1 | #!/bin/bash |
| LOW | s3/replica_client.go | 381 | |
| LOW | tests/integration/profile_test.go | 21 | _ "modernc.org/sqlite" |
| LOW | tests/integration/overnight_s3_soak_test.go | 21 | // Requirements: |
| LOW | tests/integration/minio_soak_test.go | 21 | // Can be shortened with: go test -test.short (runs for 30 minutes) |
| LOW | tests/integration/shutdown_retry_test.go | 21 | "syscall" |
| LOW | etc/litestream.yml | 1 | # AWS credentials |
| LOW | etc/litestream.yml | 21 | # # Optional TLS configuration: |
| LOW | internal/resumable_reader.go | 21 | // During restore, the LTX compactor opens all LTX file streams upfront, then |
| LOW | .github/workflows/release.yml | 221 | # - name: Checkout |
| LOW | .github/workflows/release.yml | 241 | # security create-keychain -p actions temp.keychain |
| LOW | .github/workflows/release.yml | 261 | |
| LOW | .github/workflows/release.yml | 281 | # WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }} |
| LOW | webdav/replica_client.go | 181 | } |
| LOW | webdav/replica_client.go | 201 | // |
| LOW | webdav/replica_client.go | 221 | // 4. Upload using WriteStreamWithLength() with Content-Length header |
| LOW | _examples/library/s3/main.go | 1 | // Example: Litestream Library Usage with S3 and Restore-on-Startup |
| LOW | src/sqlite3.h | 81 | # define SQLITE_APICALL |
| LOW | src/sqlite3.h | 441 | ** |
| LOW | src/sqlite3.h | 461 | #define SQLITE_CANTOPEN 14 /* Unable to open the database file */ |
| LOW | src/sqlite3.h | 501 | #define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) |
| LOW | src/sqlite3.h | 521 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| LOW | src/sqlite3.h | 541 | #define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) |
| LOW | src/sqlite3.h | 561 | #define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8)) |
| LOW | src/sqlite3.h | 601 | #define SQLITE_OPEN_URI 0x00000040 /* Ok for sqlite3_open_v2() */ |
| LOW | src/sqlite3.h | 661 | ** read of the first page to access the database header. |
| LOW | src/sqlite3.h | 1221 | ** database is not a temp db, then the [SQLITE_FCNTL_RESET_CACHE] file-control |
| LOW | src/sqlite3.h | 1241 | #define SQLITE_FCNTL_TEMPFILENAME 16 |
| LOW | src/sqlite3.h | 1261 | #define SQLITE_FCNTL_CKPT_DONE 37 |
| LOW | src/sqlite3.h | 2181 | ** ability is deactivated. Any other initial value for the integer leaves the |
| LOW | src/sqlite3.h | 2201 | #define SQLITE_CONFIG_LOOKASIDE 13 /* int int */ |
| LOW | src/sqlite3.h | 2641 | ** the first argument. |
| LOW | src/sqlite3.h | 2661 | #define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */ |
| LOW | src/sqlite3.h | 3461 | #define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ |
| LOW | src/sqlite3.h | 4321 | */ |
| LOW | src/sqlite3.h | 7741 | ** The collating sequence to be used for comparison can be found using |
| LOW | src/sqlite3.h | 8421 | ** prepared to accommodate additional static mutexes. |
| LOW | src/sqlite3.h | 8521 | ** These constants are the valid operation code parameters used |
| LOW | src/sqlite3.h | 8541 | #define SQLITE_TESTCTRL_JSON_SELFCHECK 14 |
| LOW | src/sqlite3.h | 9001 | #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 |
| LOW | src/sqlite3.h | 11061 | #ifdef SQLITE_OMIT_FLOATING_POINT |
| LOW | src/sqlite3ext.h | 401 | #define sqlite3_bind_int sqlite3_api->bind_int |
| LOW | src/sqlite3ext.h | 421 | #define sqlite3_column_database_name16 sqlite3_api->column_database_name16 |
| LOW | src/sqlite3ext.h | 441 | #define sqlite3_create_collation16 sqlite3_api->create_collation16 |
| LOW | src/sqlite3ext.h | 461 | #define sqlite3_get_auxdata sqlite3_api->get_auxdata |
| LOW | src/sqlite3ext.h | 481 | #define sqlite3_reset sqlite3_api->reset |
| LOW | src/sqlite3ext.h | 501 | #define sqlite3_total_changes sqlite3_api->total_changes |
| LOW | src/sqlite3ext.h | 521 | #define sqlite3_vsnprintf sqlite3_api->xvsnprintf |
| LOW | src/sqlite3ext.h | 541 | #define sqlite3_open_v2 sqlite3_api->open_v2 |
| 8 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | replica_test.go | 122 | // Step 1: Create initial data and replicate |
| LOW | replica_test.go | 154 | // Step 2: Simulate hard recovery - remove database and .litestream directory, then restore |
| LOW | replica_test.go | 178 | // Step 3: Start replication and insert new data |
| LOW | replica_test.go | 209 | // Step 4: Simulate second hard recovery and restore again |
| LOW | replica_test.go | 231 | // Step 5: Verify the new data (value=2) exists in restored database |
| LOW | db_internal_test.go | 1885 | // Step 1: Initial sync — creates snapshot L0 with all current pages |
| LOW | db_internal_test.go | 1890 | // Step 2: Write data to grow the database significantly |
| LOW | db_internal_test.go | 1898 | // Step 3: Sync to capture the growth — creates incremental L0 |
| LOW | db_internal_test.go | 1906 | // Step 4: Run checkpoint CONCURRENTLY with more writes. |
| LOW | db_internal_test.go | 2016 | // Step 6: Verify all pages are covered across L0 files. |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 63 | # Step 1: Create and populate initial database |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 70 | # Step 2: Start Litestream replication |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 84 | # Step 3: Start continuous writes |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 91 | # Step 4: Let it run normally for 20 seconds |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 100 | # Step 5: Kill Litestream (simulate crash) |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 106 | # Step 6: Let writes continue for 15 seconds without Litestream |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 111 | # Step 7: Execute non-PASSIVE checkpoint |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 120 | # Step 8: Resume Litestream |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 132 | # Step 9: Let Litestream catch up |
| LOW | cmd/litestream-test/scripts/reproduce-critical-bug.sh | 151 | # Step 10: Attempt to restore (THIS IS WHERE THE BUG OCCURS) |
| LOW | tests/integration/directory_watcher_test.go | 39 | // Step 1: Create 2 databases in separate tenant directories |
| LOW | tests/integration/directory_watcher_test.go | 53 | // Step 2: Add data to both databases |
| LOW | tests/integration/directory_watcher_test.go | 65 | // Step 3: Create 3 more databases at intervals |
| LOW | tests/integration/directory_watcher_test.go | 87 | // Step 4: Delete one database and verify cleanup |
| LOW | tests/integration/directory_watcher_test.go | 98 | // Step 5: Verify no critical errors in log |
| LOW | tests/integration/supabase-s3/test.sh | 29 | # Step 1: Build litestream |
| LOW | tests/integration/supabase-s3/test.sh | 36 | # Step 2: Start Supabase stack |
| LOW | tests/integration/supabase-s3/test.sh | 43 | # Step 3: Create bucket via Supabase REST API |
| LOW | tests/integration/supabase-s3/test.sh | 61 | # Step 4: Create and populate test database |
| LOW | tests/integration/supabase-s3/test.sh | 75 | # Step 5: Replicate to Supabase S3 |
| LOW | tests/integration/supabase-s3/test.sh | 101 | # Step 6: Restore and verify |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | cmd/litestream-test/populate.go | 262 | # Create a 1GB database with default settings |
| MEDIUM | cmd/litestream-test/populate.go | 265 | # Create a 2GB database with larger rows |
| MEDIUM | cmd/litestream-test/scripts/test-754-s3-scenarios.sh | 254 | # Create a short retention test with file replication for comparison |
| MEDIUM | .github/workflows/commit.yml | 344 | # Create the object store bucket |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cmd/litestream-test/scripts/test-754-s3-scenarios.sh | 15 | # Check if we have S3 environment setup |
| LOW | cmd/litestream-test/scripts/test-754-s3-scenarios.sh | 293 | # Check if old files are cleaned up |
| LOW | cmd/litestream-test/scripts/test-s3-access-point.sh | 146 | # Check if Litestream is still running |
| LOW | …/litestream-test/scripts/test-s3-retention-large-db.sh | 389 | # Check if both databases cross the lock page boundary |
| LOW | …stream-test/scripts/test-s3-retention-comprehensive.sh | 397 | # Check if large database test crossed lock page boundary |
| LOW | cmd/litestream-test/scripts/test-upgrade-large-db.sh | 100 | # Check if replication is working |
| LOW | …itestream-test/scripts/test-simple-754-reproduction.sh | 39 | # Check if it's still running |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | .github/workflows/pr-metrics.yml | 268 | | Base (\`${context.payload.pull_request.base.sha.substring(0, 7)}\`) | ${fmt(baseSize)} | | |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | cmd/litestream-test/scripts/test-upgrade-large-db.sh | 50 | # Use our test harness to create large database quickly |
| MEDIUM | internal/resumable_reader.go | 35 | // of OpenLTXFile). Callers like io.ReadFull see a seamless byte stream because |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/local-soak.sh | 5 | # Usage: |