1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
//! rqlite support various Read-[`ConsistencyLevel`]
/// rqlite support various Read-[`ConsistencyLevel`]
///
/// You do not need to know the information on this page to use rqlite well, it's mostly for advanced users.\
/// rqlite has also been run through Jepsen-style testing. You can read about that [here](https://github.com/wildarch/jepsen.rqlite/blob/main/doc/blog.md).
///
/// Even though serving queries does not require Raft consensus (because the database is not changed), queries should
/// generally be served by the cluster Leader. Why is this? Because, without this check, queries on a node could
/// return results that are out-of-date i.e. stale. This could happen for one, or both, of the following two reasons:
///
/// * The node that received your request, while still part of the cluster, has fallen behind the Leader in terms of
/// updates to its underlying database.
/// * The node is no longer part of the cluster, and has stopped receiving Raft log updates.
///
/// This is why rqlite offers selectable read consistency levels of weak (the default), linearizable, strong, and
/// none. Each is explained below, and examples of each are shown at the end of this page.
///
/// See <https://rqlite.io/docs/api/read-consistency/>
///