[CONTROLLER-1519] CDS: differentiate between messaging and persistence versions Created: 19/May/16 Updated: 25/Jul/23 |
|
| Status: | Confirmed |
| Project: | controller |
| Component/s: | clustering |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
Our current versioning assumes we are using same versions across the board. This may become problematic when we actually allow mixed deployments, as an up-revved leader can produce persistence events which are not understandable by followers. We need to define a clear behavior strategy of either discovering the quorum version for a particular Shard, or preventing down-revved followers from becoming leaders. Versions of persisted events are clearly not related to frontend message versions, so it does make sense to separate the two. The newly-defined versions should be enums, so we have type safety and do not accidentaly mix the two. |