Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #797: update document limits in CONFIGURATION.md #799

Merged
merged 2 commits into from
Jan 16, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,28 @@ Here are some Stargate-relevant property groups that are necessary for correct s
## Database limits configuration
*Configuration for document limits, defined by [DatabaseLimitsConfig.java](src/main/java/io/stargate/sgv2/jsonapi/config/DatabaseLimitsConfig.java).*

| Property | Type | Default | Description |
|---------------------------------------------|-------|---------|--------------------------------------------------------------------------------------|
| `stargate.database.limits.max-collections` | `int` | `5` | The maximum number of Collections allowed to be created per Database: defaults to 5. |
| Property | Type | Default | Description |
|-----------------------------------------------------------|-------|---------|---------------------------------------------------------------------------------------------------|
| `stargate.database.limits.max-collections` | `int` | `5` | The maximum number of Collections allowed to be created per Database. |
| `stargate.database.limits.indexes-needed-per-collection` | `int` | `10` | Number of indexes needed per Collection (to determine if a new Collection may be added). |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: only used to see if "one more" Collection may be created: not used to figure out maximum number allowed (hence need not necessarily be exactly accurate -- currently I think we need 8 or 9 indexes depending on if $vector is included).

| `stargate.database.limits.indexes-available-per-database` | `int` | `50` | Number of indexes assumed to be available per Database (to determine if Collection may be added). |

## Document limits configuration
*Configuration for document limits, defined by [DocumentLimitsConfig.java](src/main/java/io/stargate/sgv2/jsonapi/config/DocumentLimitsConfig.java).*

| Property | Type | Default | Description |
|-------------------------------------------------------------|-------|-------------|-------------------------------------------------------------------------------------------------------------|
| `stargate.jsonapi.document.limits.max-size` | `int` | `1_000_000` | The maximum size of a single document in characters. Defaults to 1 million characters or approximately 1MB. |
| `stargate.jsonapi.document.limits.max-depth` | `int` | `8` | The maximum document depth (nesting). |
| `stargate.jsonapi.document.limits.max-property-name-length` | `int` | `48` | The maximum length of property names in a document for an individual segment. |
| `stargate.jsonapi.document.limits.max-object-properties` | `int` | `64` | The maximum number of properties any single object in a document can contain. |
| `stargate.jsonapi.document.limits.max-string-length` | `int` | `16_000` | The maximum length of a single string value in a document. |
| `stargate.jsonapi.document.limits.max-array-length` | `int` | `100` | The maximum length of a single array in a document. |
| Property | Type | Default | Description |
|-----------------------------------------------------------------|-------|-------------|--------------------------------------------------------------------------------------|
| `stargate.jsonapi.document.limits.max-size` | `int` | `1_000_000` | The maximum size of (in characters) a single document. |
| `stargate.jsonapi.document.limits.max-depth` | `int` | `8` | The maximum document depth (nesting). |
| `stargate.jsonapi.document.limits.max-property-name-length` | `int` | `100` | The maximum length of property names in a document for an individual segment. |
| `stargate.jsonapi.document.limits.max-property-path-length` | `int` | `250` | The maximum length of property paths in a document (segments and separating periods) |
| `stargate.jsonapi.document.limits.max-object-properties` | `int` | `1000` | The maximum number of properties any single object in a document can contain. |
| `stargate.jsonapi.document.limits.max-document-properties` | `int` | `2000` | The maximum total number of properties all objects in a document can contain. |
| `stargate.jsonapi.document.limits.max-filter-object-properties` | `int` | `64` | The maximum number of properties a single filter clause can contain. |
| `stargate.jsonapi.document.limits.max-number-length` | `int` | `50` | The maximum length (in characters) of a single number value in a document. |
| `stargate.jsonapi.document.limits.max-string-length-in-bytes` | `int` | `8000` | The maximum length (in bytes) of a single string value in a document. |
| `stargate.jsonapi.document.limits.max-array-length` | `int` | `1000` | The maximum length (in elements) of a single array in a document. |
| `stargate.jsonapi.document.limits.max-vector-embedding-length` | `int` | `4096` | The maximum length (in floats) of the $vector in a document. |

## Operations configuration
*Configuration for the operation execution, defined by [OperationsConfig.java](src/main/java/io/stargate/sgv2/jsonapi/config/OperationsConfig.java).*
Expand Down