Further improvement for PR#2662: Special key framework.
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
The following items needs to be done before the special key framework in PRhttps://github.com/apple/foundationdb/pull/2662 is released as a feature.
- [x] Add a knob which by default disable the range read across "modules" in special key space. A module in a special key space is informally defined as a sub special key space;
- [x] When users toggle the above knob to enable the cross-module range read, report a warning (via trace) that the cross-module range read behavior can be changed in upgrading and that use with caution. In the release notes, explicitly state the possible behaviors of cross-module range read in upgrading: If a new special key operation is added, and the operation can be blocked (or throw error), the cross-module range read can block (or throw error). The exact behavior is not decided yet;
- [x] Harden the test workloads by adding different special key implementations and check the correctness;
- [ ] When a special key implementation on a `getRange()` has errors or _gets blocked_, report _warning_ respectively to users;
- [ ] Update release notes and user documentation.
Contributor guide
Assessment
This issue has not been assessed yet.