-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Transaction Improvements #656
Milestone
Comments
garyrussell
added a commit
to garyrussell/spring-kafka
that referenced
this issue
Apr 19, 2018
Fixes spring-projects#656 Fixes spring-projects#657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (spring-projects#657). Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review.
garyrussell
added a commit
to garyrussell/spring-kafka
that referenced
this issue
Apr 19, 2018
Fixes spring-projects#656 Fixes spring-projects#657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (spring-projects#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't comitted. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review.
garyrussell
added a commit
to garyrussell/spring-kafka
that referenced
this issue
Apr 19, 2018
Fixes spring-projects#656 Fixes spring-projects#657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (spring-projects#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't comitted. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review.
artembilan
pushed a commit
that referenced
this issue
Apr 19, 2018
Fixes #656 Fixes #657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't committed. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review. * Some simple polishing # Conflicts: # spring-kafka/src/main/java/org/springframework/kafka/config/AbstractKafkaListenerContainerFactory.java # spring-kafka/src/test/java/org/springframework/kafka/listener/TransactionalContainerTests.java # src/reference/asciidoc/whats-new.adoc
artembilan
pushed a commit
that referenced
this issue
Apr 19, 2018
Fixes #656 Fixes #657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't committed. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review. * Some simple polishing # Conflicts: # spring-kafka/src/main/java/org/springframework/kafka/config/AbstractKafkaListenerContainerFactory.java # spring-kafka/src/test/java/org/springframework/kafka/listener/TransactionalContainerTests.java # src/reference/asciidoc/whats-new.adoc # Conflicts: # spring-kafka/src/main/java/org/springframework/kafka/listener/AbstractMessageListenerContainer.java # spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java # src/reference/asciidoc/kafka.adoc # src/reference/asciidoc/whats-new.adoc * Resolve errors for code which doesn't exist yet
garyrussell
added a commit
to garyrussell/spring-kafka
that referenced
this issue
Apr 19, 2018
Fixes spring-projects#656 Fixes spring-projects#657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (spring-projects#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't committed. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review. * Some simple polishing
artembilan
pushed a commit
that referenced
this issue
Apr 20, 2018
Fixes #656 Fixes #657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't committed. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review. * Some simple polishing * Remove `@FunctionalInterface` since it's not for Java 7 * Refactor `DefaultAfterRollbackProcessor` to avoid extra loop
denis554
added a commit
to denis554/spring-kafka
that referenced
this issue
Mar 27, 2019
Fixes spring-projects/spring-kafka#656 Fixes spring-projects/spring-kafka#657 Previously, after a rollback, we only performed a `seek` on the failed record. We need to seek for all unprocessed records. Also, when no error handler was provided, and using a batch listener, the offsets were added to `acks` and incorrectly committed. (#657). Also, if a `ContainerAwareErrorHandler` "handles" the error, the offsets weren't committed. Enhance the tests to verify full seeks. Add a new test to verify the batch listener doesn't commit after a roll back. **cherry-pick to 2.1.x, 2.0.x** I will backport to 1.3.x after review. * Some simple polishing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
invokeRecordListenerInTx
only seeks the current failed record - it should seek all unprocessed records.Also, some strategy is needed to discard the poison record and continue. See #653 (comment)
The text was updated successfully, but these errors were encountered: