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
vmalert does not respect -remoteWrite.maxBatchSize
at shutdown
#6025
Comments
It's probably a |
@jiekun sounds good to me! Do you want to be assigned to this issue? |
-remoteWrite.maxBatchSize
at shutdown-remoteWrite.maxBatchSize
at shutdown
Yes please assign it to me. Ty |
…6039) During shutdown period of vmalert, remotewrite client retrieve all pending time series from buffer queue, compose them into 1 batch and execute remote write. This final batch may exceed the limit of -remoteWrite.maxBatchSize, and be rejected by the receiver (gateway, vmcluster or others). This changes ensures that even during shutdown vmalert won't exceed the max batch size limit for remote write destination. #6025
…6039) During shutdown period of vmalert, remotewrite client retrieve all pending time series from buffer queue, compose them into 1 batch and execute remote write. This final batch may exceed the limit of -remoteWrite.maxBatchSize, and be rejected by the receiver (gateway, vmcluster or others). This changes ensures that even during shutdown vmalert won't exceed the max batch size limit for remote write destination. #6025 (cherry picked from commit 623d257) Signed-off-by: hagen1778 <roman@victoriametrics.com>
…6039) During shutdown period of vmalert, remotewrite client retrieve all pending time series from buffer queue, compose them into 1 batch and execute remote write. This final batch may exceed the limit of -remoteWrite.maxBatchSize, and be rejected by the receiver (gateway, vmcluster or others). This changes ensures that even during shutdown vmalert won't exceed the max batch size limit for remote write destination. #6025 (cherry picked from commit 623d257) Signed-off-by: hagen1778 <roman@victoriametrics.com>
…6039) During shutdown period of vmalert, remotewrite client retrieve all pending time series from buffer queue, compose them into 1 batch and execute remote write. This final batch may exceed the limit of -remoteWrite.maxBatchSize, and be rejected by the receiver (gateway, vmcluster or others). This changes ensures that even during shutdown vmalert won't exceed the max batch size limit for remote write destination. #6025 (cherry picked from commit 623d257) Signed-off-by: hagen1778 <roman@victoriametrics.com>
This issue has been fixed in vmalert v1.100.0. Closing it as fixed then. |
The bugfix for this issue has been included in v1.93.14 LTS release. |
The bugfix for this issue has been also included in v1.97.4 LTS release. |
Describe the bug
When VmAlerts shuts down it writes the entire remote write input to its remote write target with no consideration if the queue is larger than
-remoteWrite.maxBatchSize
, this can cause issues when writing to other vm components as it can easily hit the-maxInsertRequestSize
limits when typical requests that are batched do not.The shutdown function of the remote write client takes no consideration of
-remoteWrite.maxBatchSize
simply writing the entire remaining input in a single flush.If my understanding is correct this seems as simple as modifying this function to batch the remaining input into a bunch flushes instead of one?
To Reproduce
Most apparent in replay mode:
-maxInsertRequestSize
Version
Encountered on 1.96.0 but code is unchanged on most recent 1.99.0.
Logs
Screenshots
No response
Used command-line flags
Increased max queue size but otherwise default
Additional information
No response
The text was updated successfully, but these errors were encountered: