diff --git a/api-docs/cloud-dedicated/v2/ref.yml b/api-docs/cloud-dedicated/v2/ref.yml index ddaf7fc7e..15dbd9307 100644 --- a/api-docs/cloud-dedicated/v2/ref.yml +++ b/api-docs/cloud-dedicated/v2/ref.yml @@ -229,9 +229,8 @@ paths: 2. If successful, attempts to [ingest data](/influxdb/cloud-dedicated/reference/internals/durability/#data-ingest) from the request body; otherwise, responds with an [error status](/influxdb/cloud-dedicated/write-data/troubleshoot/#review-http-status-codes). 3. Ingests or rejects data in the batch and returns one of the following HTTP status codes: - - `204 No Content`: all data in the batch is ingested - - `201 Created` (_If the cluster is configured to allow **partial writes**_): some points in the batch are ingested and queryable, and some points are rejected - - `400 Bad Request`: all data is rejected + - `204 No Content`: All data in the batch is ingested. + - `400 Bad Request`: Some (_when **partial writes** are configured for the cluster_) or all of the data has been rejected. Data that has not been rejected is ingested and queryable. The response body contains error details about [rejected points](/influxdb/cloud-dedicated/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. @@ -656,33 +655,29 @@ paths: description: Line protocol body required: true responses: - '201': - description: | - Success ("Created"). Some points in the batch are written and queryable, and some points are rejected. The response body contains details about the [rejected points](/influxdb/cloud-dedicated/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. - content: - application/json: - examples: - partialWriteErrorWithRejectedPoints: - summary: Partial write rejects points with syntax errors - value: - code: invalid - line: 2 - message: 'failed to parse line protocol: errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' - schema: - $ref: '#/components/schemas/LineProtocolError' '204': description: Success ("No Content"). All data in the batch is written and queryable. '400': - description: Bad Request. All data in body was rejected and not written. + description: | + Data from the batch was rejected and not written. The response body indicates if a partial write occurred or all data was rejected. + If a partial write occurred, then some points from the batch are written and queryable. + + The response body contains details about the [rejected points](/influxdb/cloud-dedicated/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. content: application/json: examples: - rejectsAllPoints: + rejectedAllPoints: summary: Rejected all points value: code: invalid line: 2 - message: 'failed to parse line protocol: errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' + message: 'no data written, errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' + partialWriteErrorWithRejectedPoints: + summary: Partial write rejects some points + value: + code: invalid + line: 2 + message: 'partial write has occurred, errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' schema: $ref: '#/components/schemas/LineProtocolError' '401': diff --git a/api-docs/cloud-serverless/v2/ref.yml b/api-docs/cloud-serverless/v2/ref.yml index d6047bc77..4c6c01654 100644 --- a/api-docs/cloud-serverless/v2/ref.yml +++ b/api-docs/cloud-serverless/v2/ref.yml @@ -7491,9 +7491,8 @@ paths: 2. If successful, attempts to [ingest data](/influxdb/cloud-serverless/reference/internals/durability/#data-ingest) from the request body; otherwise, responds with an [error status](/influxdb/cloud-serverless/write-data/troubleshoot/#review-http-status-codes). 3. Ingests or rejects data in the batch and returns one of the following HTTP status codes: - - `204 No Content`: all data in the batch is ingested - - `201 Created`: some points in the batch are ingested and queryable, and some points are rejected - - `400 Bad Request`: all data is rejected + - `204 No Content`: All data in the batch is ingested. + - `400 Bad Request`: Data from the batch was rejected and not written. The response body indicates if a partial write occurred. The response body contains error details about [rejected points](/influxdb/cloud-serverless/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. @@ -7639,27 +7638,14 @@ paths: - [Best practices for optimizing writes](/influxdb/cloud-serverless/write-data/best-practices/optimize-writes/) required: true responses: - '201': - description: | - Success ("Created"). Some points in the batch are written and queryable, and some points are rejected. The response body contains details about the [rejected points](/influxdb/cloud-serverless/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. - content: - application/json: - examples: - partialWriteErrorWithRejectedPoints: - summary: Partial write rejects points with syntax errors - value: - code: invalid - line: 2 - message: 'failed to parse line protocol: errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' - schema: - $ref: '#/components/schemas/LineProtocolError' '204': description: Success ("No Content"). All data in the batch is written and queryable. '400': description: | - All data in the batch was rejected and not written. + Data from the batch was rejected and not written. The response body indicates if a partial write occurred or all data was rejected. + If a partial write occurred, then some points from the batch are written and queryable. - The response body contains details about the [rejected points](/influxdb/cloud-serverless/write-data/troubleshoot/#troubleshoot-rejected-points). + The response body contains details about the [rejected points](/influxdb/cloud-serverless/write-data/troubleshoot/#troubleshoot-rejected-points), up to 100 points. content: application/json: examples: @@ -7668,7 +7654,13 @@ paths: value: code: invalid line: 2 - message: 'failed to parse line protocol: errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' + message: 'no data written, errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' + partialWriteErrorWithRejectedPoints: + summary: Partial write rejects some points + value: + code: invalid + line: 2 + message: 'partial write has occurred, errors encountered on line(s): error message for first rejected point error message for second rejected point error message for Nth rejected point (up to 100 rejected points)' schema: $ref: '#/components/schemas/LineProtocolError' '401': @@ -7704,14 +7696,7 @@ paths: The request payload is too large. InfluxDB rejected the batch and did not write any data. - InfluxDB returns this error if the payload exceeds the 50MB size limit. - '422': - description: | - Unprocessable Entity. - - The request contained data outside the bucket's retention period. InfluxDB rejected the batch and wrote no data. - - The response body contains details about the [rejected points](/influxdb/cloud-serverless/write-data/troubleshoot/#troubleshoot-rejected-points). + InfluxDB returns this error if the payload exceeds the 50MB size limit or all data is outside the retention window. '429': description: | Too many requests. diff --git a/assets/styles/layouts/_notifications.scss b/assets/styles/layouts/_notifications.scss index e549c754d..00034186a 100644 --- a/assets/styles/layouts/_notifications.scss +++ b/assets/styles/layouts/_notifications.scss @@ -139,6 +139,12 @@ code { background: transparent !important; } } + hr { + border-width: 1px 0 0 0; + border-style: dotted; + border-color: rgba($g20-white, .5); + } + &.min { .notification-title {h3 {font-size: 1.15rem;}} .notification-content { diff --git a/content/influxdb/cloud-dedicated/write-data/troubleshoot.md b/content/influxdb/cloud-dedicated/write-data/troubleshoot.md index 97720907d..5c1759906 100644 --- a/content/influxdb/cloud-dedicated/write-data/troubleshoot.md +++ b/content/influxdb/cloud-dedicated/write-data/troubleshoot.md @@ -32,9 +32,8 @@ Learn how to avoid unexpected results and recover from errors when writing to {{ 2. If successful, attempts to [ingest data](/influxdb/cloud-dedicated/reference/internals/durability/#data-ingest) from the request body; otherwise, responds with an [error status](#review-http-status-codes). 3. Ingests or rejects data in the batch and returns one of the following HTTP status codes: - - `204 No Content`: all data in the batch is ingested - - `201 Created` (_If the cluster is configured to allow **partial writes**_): some points in the batch are ingested and queryable, and some points are rejected - - `400 Bad Request`: all data is rejected + - `204 No Content`: All data in the batch is ingested. + - `400 Bad Request`: Some (_when **partial writes** are configured for the cluster_) or all of the data has been rejected. Data that has not been rejected is ingested and queryable. The response body contains error details about [rejected points](#troubleshoot-rejected-points), up to 100 points. @@ -51,9 +50,8 @@ The `message` property of the response body may contain additional details about | HTTP response code | Response body | Description | |:------------------------------|:------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `201 "Created"` | error details about rejected points, up to 100 points: `line` contains the first rejected line, `message` describes rejections | _If **partial writes** are configured for the cluster_, and if some of the data is ingested and some of the data is rejected | | `204 No Content"` | no response body | If InfluxDB ingested all of the data in the batch | -| `400 "Bad request"` | error details about rejected points, up to 100 points: `line` contains the first rejected line, `message` describes rejections line | If request data is malformed | +| `400 "Bad request"` | error details about rejected points, up to 100 points: `line` contains the first rejected line, `message` describes rejections | If some (_when **partial writes** are configured for the cluster_) or all request data isn't allowed (for example, if it is malformed or falls outside of the bucket's retention period)--the response body indicates whether a partial write has occurred or if all data has been rejected | | `401 "Unauthorized"` | | If the `Authorization` header is missing or malformed or if the [token](/influxdb/cloud-dedicated/admin/tokens/) doesn't have [permission](/influxdb/cloud-dedicated/reference/cli/influxctl/token/create/#examples) to write to the database. See [examples using credentials](/influxdb/cloud-dedicated/get-started/write/#write-line-protocol-to-influxdb) in write requests. | | `404 "Not found"` | requested **resource type** (for example, "organization" or "database"), and **resource name** | If a requested resource (for example, organization or database) wasn't found | | `422 "Unprocessable Entity"` | `message` contains details about the error | If the data isn't allowed (for example, falls outside of the database’s retention period). diff --git a/content/influxdb/cloud-serverless/write-data/troubleshoot.md b/content/influxdb/cloud-serverless/write-data/troubleshoot.md index dd85c6a9b..2c7a3b7cd 100644 --- a/content/influxdb/cloud-serverless/write-data/troubleshoot.md +++ b/content/influxdb/cloud-serverless/write-data/troubleshoot.md @@ -31,12 +31,12 @@ Learn how to avoid unexpected results and recover from errors when writing to {{ 1. Validates the request. 2. If successful, attempts to [ingest data](/influxdb/cloud-serverless/reference/internals/durability/#data-ingest) from the request body; otherwise, responds with an [error status](#review-http-status-codes). - 3. Ingests or rejects the entire batch and returns one of the following HTTP status codes: + 3. Ingests or rejects data from the batch and returns one of the following HTTP status codes: - - `204 No Content`: some or all of the data is ingested and queryable - - `400 Bad Request`: all data is rejected + - `204 No Content`: All of the data is ingested and queryable. + - `400 Bad Request`: Some or all of the data has been rejected. Data that has not been rejected is ingested and queryable. - If points are rejected, the `204` or `400` response body contains error details about [rejected points](#troubleshoot-rejected-points), up to 100 points. + The response body contains error details about [rejected points](#troubleshoot-rejected-points), up to 100 points. Writes are synchronous--the response status indicates the final status of the write and all ingested data is queryable. @@ -49,18 +49,16 @@ InfluxDB uses conventional HTTP status codes to indicate the success or failure The `message` property of the response body may contain additional details about the error. {{< product-name >}} returns one the following HTTP status codes for a write request: -| HTTP response code | Response body | Description | -| :-------------------------------| :--------------------------------------------------------------- | :------------- | -| `201 "Created"` | error details about rejected points, up to 100 points, `line` contains the first rejected line, `message` describes rejections | If some of the data is ingested and some of the data is rejected | -| `204 "No Content"` | no response body | If InfluxDB ingested all of the data in the batch | -| `400 "Bad request"` | `line` contains the first malformed line, `message` describes rejected points | If request data is malformed | -| `401 "Unauthorized"` | | If the `Authorization` header is missing or malformed or if the [token](/influxdb/cloud-serverless/admin/tokens/) doesn't have [permission](/influxdb/cloud-serverless/admin/tokens/create-token/) to write to the bucket. See [examples using credentials](/influxdb/cloud-serverless/get-started/write/#write-line-protocol-to-influxdb) in write requests. | -| `404 "Not found"` | requested **resource type** (for example, "organization" or "bucket"), and **resource name** | If a requested resource (for example, organization or bucket) wasn't found | -| `413 “Request too large”` | cannot read data: points in batch is too large | If a request exceeds the maximum [global limit](/influxdb/cloud-serverless/admin/billing/limits/) | -| `422 "Unprocessable Entity"` | `message` contains details about the error | If the data isn't allowed (for example, falls outside of the bucket's retention period). -| `429 “Too many requests”` | | If the number of requests exceeds the [adjustable service quota](/influxdb/cloud-serverless/admin/billing/limits/#adjustable-service-quotas). The `Retry-After` header contains the number of seconds to wait before trying the write again. | If a request exceeds your plan's [adjustable service quotas](/influxdb/cloud-serverless/admin/billing/limits/#adjustable-service-quotas) -| `500 "Internal server error"` | | Default status for an error | -| `503 "Service unavailable"` | | If the server is temporarily unavailable to accept writes. The `Retry-After` header contains the number of seconds to wait before trying the write again. +| HTTP response code | Response body | Description | +| :-------------------------------| :--------------------------------------------------------------- | :------------- | +| `204 "No Content"` | no response body | If InfluxDB ingested all of the data in the batch | +| `400 "Bad request"` | error details about rejected points, up to 100 points: `line` contains the first rejected line, `message` describes rejections | If some or all request data isn't allowed (for example, is malformed or falls outside of the bucket's retention period)--the response body indicates whether a partial write has occurred or if all data has been rejected | +| `401 "Unauthorized"` | | If the `Authorization` header is missing or malformed or if the [token](/influxdb/cloud-serverless/admin/tokens/) doesn't have [permission](/influxdb/cloud-serverless/admin/tokens/create-token/) to write to the bucket. See [examples using credentials](/influxdb/cloud-serverless/get-started/write/#write-line-protocol-to-influxdb) in write requests. | +| `404 "Not found"` | requested **resource type** (for example, "organization" or "bucket"), and **resource name** | If a requested resource (for example, organization or bucket) wasn't found | +| `413 “Request too large”` | cannot read data: points in batch is too large | If a request exceeds the maximum [global limit](/influxdb/cloud-serverless/admin/billing/limits/) | +| `429 “Too many requests”` | | If the number of requests exceeds the [adjustable service quota](/influxdb/cloud-serverless/admin/billing/limits/#adjustable-service-quotas). The `Retry-After` header contains the number of seconds to wait before trying the write again. | If a request exceeds your plan's [adjustable service quotas](/influxdb/cloud-serverless/admin/billing/limits/#adjustable-service-quotas) +| `500 "Internal server error"` | | Default status for an error | +| `503 "Service unavailable"` | | If the server is temporarily unavailable to accept writes. The `Retry-After` header contains the number of seconds to wait before trying the write again. The `message` property of the response body may contain additional details about the error. If your data did not write to the bucket, see how to [troubleshoot rejected points](#troubleshoot-rejected-points). diff --git a/data/notifications.yaml b/data/notifications.yaml index 6d8764090..c178861ec 100644 --- a/data/notifications.yaml +++ b/data/notifications.yaml @@ -38,3 +38,40 @@ # - [The plan for InfluxDB 3.0 Open Source](https://influxdata.com/blog/the-plan-for-influxdb-3-0-open-source) # - [InfluxDB 3.0 benchmarks](https://influxdata.com/blog/influxdb-3-0-is-2.5x-45x-faster-compared-to-influxdb-open-source/) + +- id: v3-enhancements-clustered-ga + level: note + scope: + - / + exclude: + - /influxdb/cloud/ + - /influxdb/v1/ + - /influxdb/v2/ + - /flux/v0/ + - /telegraf/ + - /kapacitor/ + - /chronograf/ + title: InfluxDB v3 enhancements and InfluxDB Clustered is now generally available + slug: | + New capabilities, including faster query performance and management + tooling advance the InfluxDB v3 product line. + InfluxDB Clustered is now generally available. + message: | + ### InfluxDB v3 performance and features + + The InfluxDB v3 product line has seen significant enhancements in query + performance and has made new management tooling available. These enhancements + include an operational dashboard to monitor the health of your InfluxDB cluster, + single sign-on (SSO) support in InfluxDB Cloud Dedicated, and new management + APIs for tokens and databases. + + [Learn about the new v3 enhancements](https://www.influxdata.com/blog/scaling-time-series-workloads-influxdb) + + --- + + ### InfluxDB Clustered general availability + + InfluxDB Clustered is now generally available and gives you the power of + InfluxDB v3 in your self-managed stack. + + [Talk to us about InfluxDB Clustered](https://www.influxdata.com/products/influxdb-clustered/)