-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[BUG] AsyncTransferManager eatingup exception #10890
Comments
@vikasvb90 to take a look. |
@dhwanilpatel I don't see the exception getting masked. I tested exceptions both from corrupted as well as IO block and I can see them propagated to S3BlobContainer here which is invoking onFailure of the completionListener. In fact, I can also see abort operation like deleteObject in single chunk upload getting invoked. Can you mention a scenario where you saw this getting masked? |
Also, it will be incorrect to invoke returnFuture from that block or any part failure block because if we do that then we will never be able to clean up uploaded data which is happening in the subsequent chained handle blocks which is dependent on the exception to trigger cleanup. |
Describe the bug
In AsyncTransferManager, at one place we are only throwing the exception. Considering it will be run in different thread, this exception might be lost from invoking thread, we should invoke
returnFuture.completeExceptionally
from there, so invoking thread's action listener will be invoked and appropriate action would be taken.OpenSearch/plugins/repository-s3/src/main/java/org/opensearch/repositories/s3/async/AsyncTransferManager.java
Lines 352 to 361 in 5bd413c
The text was updated successfully, but these errors were encountered: