All Products
Search
Document Center

OpenSearch:Data push

Last Updated:Apr 01, 2026

Data push is asynchronous — an OK response confirms receipt, not successful processing. Always verify processing results in the OpenSearch console after pushing data.

How it works

All write commands share the same flow: submit a push request, receive an OK response, and then wait for asynchronous processing. If processing fails, the error appears in the OpenSearch console. Check promptly to avoid data loss.

The three commands differ in how they handle existing documents:

CommandIf the document existsField behavior
addDelete then re-addAll fields overwritten; absent fields default to blank
updateDelete then re-addOnly specified fields updated; absent fields retain original values
deleteDeleteRuns even if the primary key ID does not exist
For incremental data pushes, documents with duplicate primary key values are overwritten.

Limits

ResourceLimit
HTTP POST body size2 MB per request
Push rateLimited by app quota
ApsaraDB RDS for MySQL sync rateSee Limits
ApsaraDB RDS for MySQL sync sizeSee Limits

Push data using the API or SDK

Batch your pushes

Batch documents into packages before pushing. This reduces the number of requests and makes better use of your quota. If the total size of documents uploaded in a single request exceeds 2 MB, the server rejects the request.

Check return values after every push

After pushing, always check the return values. An OK response only confirms receipt — it does not mean processing succeeded. Check the OpenSearch console for processing errors. Pay special attention to error code 3007: troubleshoot based on the error code, then retry.

Handle errors and rate limits

The following errors require a retry:

Error messageTypical causeAction
connection timed outNetwork issueRetry
1000 :system errorSystem issueRetry
push rate exceeds app quotaDocuments exceed 2 MB per request (most common), or high request frequencyRetry; reduce batch size if the error persists
request too frequentlyPush count exceeds the upper limitRetry; batch documents to reduce request count

Encode your HTTP POST requests

Apply URL encoding to both the URL and body of HTTP POST requests. Without encoding, the server may fail to parse the request or reject it with a signature error.

Synchronize data from ApsaraDB RDS for MySQL

The rate and size of data synchronization from ApsaraDB RDS for MySQL are limited. For details, see Limits.

Avoid binary log overflow

A binary log is generated whenever any table in an ApsaraDB RDS for MySQL database is updated. If binary log generation exceeds the upper limit, data stacks up and synchronization is delayed.

To reduce binary log volume:

  • Move frequently updated tables into separate databases to distribute binary log generation.

  • Enable automatic data synchronization for the primary table, then use API operations for secondary tables.