-
Notifications
You must be signed in to change notification settings - Fork 202
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] ChangeVisibilityTimeout call failure during pipeline shutdown. #4575
Comments
I am having the same problem. |
I've been investigating this some. I created #4740 to provide a long-term solution which uses Data Prepper core to hold on acknowledgements. In the meantime, I'm going to make some more minor changes which avoid the error messages. But, I won't hold the source open to allow the acknowledgements to flush because that will require more core changes. |
dlvenable
added a commit
to dlvenable/data-prepper
that referenced
this issue
Jul 17, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]>
4 tasks
github-project-automation
bot
moved this from Unplanned
to Done
in Data Prepper Tracking Board
Jul 19, 2024
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Jul 23, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Jul 23, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Jul 23, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Jul 30, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Aug 8, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Aug 12, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
kkondaka
pushed a commit
to kkondaka/kk-data-prepper-f2
that referenced
this issue
Aug 14, 2024
…peline from shutting down and no longer results in failures. Resolves opensearch-project#4575 (opensearch-project#4748) The previous approach to shutting down the SQS thread closed the SqsClient. However, with acknowledgments enabled, asynchronous callbacks would result in further attempts to either ChangeVisibilityTimeout or DeleteMessages. These were failing because the client was closed. Also, the threads would remain and prevent Data Prepper from correctly shutting down. With this change, we correctly stop each processing thread. Then we close the client. Additionally, the SqsWorker now checks that it is not stopped before attempting to change the message visibility or delete messages. Additionally, I found some missing test cases. Also, modifying this code and especially unit testing it is becoming more difficult, so I performed some refactoring to move message parsing out of the SqsWorker. Signed-off-by: David Venable <[email protected]> Signed-off-by: Krishna Kondaka <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
SqsClient get closed early when it is still making changeVisibilityTimeout call within acknowledgment callback thread:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
This error root cause (connection pool shutdown) should not appear
Additional context
Approaches:
The text was updated successfully, but these errors were encountered: