DRAFT - Not yet in discussion
- Status
- Scope
- Goals
- Approach
- Timeline
- Mailing list / Slack channels
- Related JIRA tickets
- Motivation
- Audience
- Proposed Changes
- New or Changed Public Interfaces
- Compatibility, Deprecation, and Migration Plan
- Test Plan
- Rejected Alternatives
...
Below is an overview of a set of proposed guardrails with some example limits (which are subject to change):
Parameter | Example Limit | Notes |
---|---|---|
Single column size | 5 MB | Hard limit to prevent writing a large column value |
Number of columns per Table | 50 | Hard limit to prevent creating too many columns per table |
Number of items per Collection | 20 | Soft limit to prevent creating collections with too many items |
Number of fields per UDT | 10 | Hard limit to prevent creating large UDTs |
Size of a collection | 5 MB | Soft limit that warns when encountering large collections |
Enable User-provided timestamps | true | Whether to allow user-provided timestamps in write requests (USING TIMESTAMP...) |
Enable Read-before-write List operations | true | Whether to allow read-before-write list operations (setting/removing an item by index) |
Disallowed Table properties | compression, compaction | List of table properties that are disallowed to be set by users |
Disallowed write consistency levels | ANY, ONE, LOCAL_ONE, ALL | List of Consistency Levels that are disallowed to be used during writes |
Number of secondary indexes per Table | 1 | Hard limit to prevent having lots of secondary indexes per table |
Number of MVs per Table | 2 | Hard limit to prevent having lots of MVs |
Total Number of User-created Tables | 100 (soft) / 200 (hard) | Soft limit issues a warning when exceeded and hard limit issues a failure |
Large partition size | 100 MB | Soft limit that issues a warning when large partitions are being compacted |
Number of partition keys in SELECT | 20 | Hard limit |
Cartesian Product of values in IN condition | 25 | Hard limit. For example "a IN (1,2,...10) AND b IN (1,2...10)" results in cartesian product of 100 |
Disk usage | 70% (soft) / 80% (hard) | Local and Replica Disk usage are monitored to issue warnings/failures when the soft/hard limit is reached |
Configuration of Guardrails
...