Commit 3c90745
committed
readyset: Verify estimated snapshot size at startup
When starting Readyset, try to determine how much space a snapshot of
the upstream will consume, and fail the startup verification if it looks
as though we won't have enough space to accommodate the entire snapshot.
Our verification relies on a few assumptions:
- The reported sizes of the upstream tables are basically correct
- All databases (MySQL) or schemas (PostgreSQL) will be replicated
- The tables will take about twice the space when stored in Readyset
Skip this verification check if the user has specified any tables via
the --replication-tables or --replication-tables-ignore arguments. We
can consider a more granular approach in the future.
Fixes: REA-5937
Release-Note-Core: Add pre-snapshot verification checks to help find
potential configuration issues earlier. The argument --verify can be
used to run only the verification checks and then exit. The argument
--verify-skip can be used to skip the verification checks and continue
with normal startup.
Change-Id: I1a59c7bad465f87b59f1c1ce6062616d779579bb
Reviewed-on: https://gerrit.readyset.name/c/readyset/+/10601
Reviewed-by: Michael Zink <michael.z@readyset.io>
Tested-by: Buildkite CI1 parent 765eec1 commit 3c90745
File tree
9 files changed
+216
-19
lines changed- readyset-server/src
- readyset
- src
- replicators/src
- mysql_connector
9 files changed
+216
-19
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| |||
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
| 245 | + | |
244 | 246 | | |
245 | 247 | | |
246 | 248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
746 | 746 | | |
747 | 747 | | |
748 | 748 | | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
754 | 754 | | |
755 | 755 | | |
756 | 756 | | |
| |||
837 | 837 | | |
838 | 838 | | |
839 | 839 | | |
| 840 | + | |
| 841 | + | |
840 | 842 | | |
841 | 843 | | |
842 | | - | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
843 | 848 | | |
844 | 849 | | |
845 | 850 | | |
846 | 851 | | |
847 | | - | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
848 | 856 | | |
849 | 857 | | |
850 | 858 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
221 | 220 | | |
222 | 221 | | |
223 | 222 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
| 223 | + | |
230 | 224 | | |
231 | 225 | | |
232 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
793 | 793 | | |
794 | 794 | | |
795 | 795 | | |
796 | | - | |
797 | | - | |
798 | | - | |
799 | | - | |
| 796 | + | |
800 | 797 | | |
801 | 798 | | |
802 | 799 | | |
| |||
0 commit comments