Azure / Azure/elastic-db-tools
MSQ/Shard Validation => DDR needs to deliver option for OpenConnection(shard) that ensures all ranges are online and mappings are identical to time shard was requested
- Dominant language
- C#
- Stars
- 147
- Forks
- 108
- PR merge metrics
- No merged PRs in 30d
Description
Currently SMM delivers a guarantee to users of OpenConnection(key) that the correct connection appropriate for that key will be delivered, and risk of incorrect results due to data movement will be eliminated through kill logic.
Customers using OpenConnection(shard) in their application (including changing MSQ to use this method) need similar guarantees: If they have searched to find the list of shards covering a range or set of key values appropriate for a query, or by selection of a set of shards via location, they wish to have the option of (a) ensuring that a shard is not undergoing data movement operations (split/merge/tenant move) that may corrupt results and (b) making sure that the key ranges covered when the connection is opened match the key ranges covered when the range-covering shard search was performed.
*\* If Validation is requested *\* -- This requires the connection to ensure that no ranges are offline (or being lazily deleted) when opened, and that the shard "version" at connection time matches the version of the shard that the app passed to the OpenConnection method. An error should be thrown if these conditions are violated -- unless no validation was requested,
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.