KAFKA-6747 Check whether there is in-flight transaction before aborting transaction#4826
Merged
guozhangwang merged 3 commits intoapache:trunkfrom Apr 5, 2018
tedyu:trunk
Merged
KAFKA-6747 Check whether there is in-flight transaction before aborting transaction#4826guozhangwang merged 3 commits intoapache:trunkfrom tedyu:trunk
guozhangwang merged 3 commits intoapache:trunkfrom
tedyu:trunk
Conversation
Contributor
Author
|
@mjsax |
Member
Contributor
|
@tedyu Thanks for the PR, the fix looks good to me. Could we add a unit test to expose this issue and illustrate that it is fixed in this PR? For example:
|
guozhangwang
reviewed
Apr 5, 2018
| if (!clean) { | ||
| try { | ||
| if (!isZombie) { | ||
| if (!isZombie && transactionInFlight) { |
Contributor
There was a problem hiding this comment.
This comment is not for this line but for line 361 above (it is not introduced in this PR but we can tighten the screws a bit more along side):
we should switch the line transactionInFlight = true; to go after producer.beginTransaction();
mjsax
reviewed
Apr 5, 2018
| } | ||
|
|
||
| @Test | ||
| public void noInitOnCreateWithEosEnabled() { |
Member
There was a problem hiding this comment.
nit: shouldNotThrowOnCloseIfTaskWasNotInitializedWithEosEnabled()
guozhangwang
approved these changes
Apr 5, 2018
Member
|
Should we cherry-pick this to |
Contributor
|
Also cherry-picked to 1.1 branch |
guozhangwang
pushed a commit
that referenced
this pull request
Apr 5, 2018
…ng transaction (#4826) As Frederic reported on mailing list under the subject "kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION", producer#abortTransaction should only be called when transactionInFlight is true. Reviewers: Guozhang Wang <wangguoz@gmail.com>, Matthias J. Sax <matthias@confluent.io>
|
Is there a workaround for this until 1.1.1 is released? |
Member
|
I cannot think of any. |
ijuma
added a commit
to confluentinc/kafka
that referenced
this pull request
Apr 25, 2018
* confluent/1.1: (60 commits) MINOR: Fix kafka-run-class for Java 10 (apache#4895) KAFKA-6772: Load credentials from ZK before accepting connections (apache#4867) KAFKA-6742: TopologyTestDriver error when dealing with stores from GlobalKTable MINOR: Mention that -1 disables retention by time (apache#4881) KAFKA-6790: Fix Streams processor node broken link (apache#4874) MINOR: Java 10 fixes so that the build passes (apache#4839) MINOR: Update Jackson to 2.9.5 (apache#4776) MINOR: Downgrade to Gradle 4.5.1 (apache#4791) MINOR: Java 9/10 fixes, gradle and minor deps update (apache#4725) KAFKA-6752: Enable unclean leader election metric (apache#4838) KAFKA-6054: Fix upgrade path from Kafka Streams v0.10.0 (apache#4773) KAFKA-6747 Check whether there is in-flight transaction before aborting transaction (apache#4826) KAFKA-6748: double check before scheduling a new task after the punctuate call (apache#4827) KAFKA-6739; Ignore headers when down-converting from V2 to V0/V1 (apache#4813) KAFKA-6728: Corrected the worker’s instantiation of the HeaderConverter KAFKA-6731: waitOnState should check the state to be the target start. (apache#4808) HOTFIX: Enforce a rebalance upon task migration (apache#4802) MINOR: Remove 1.2.0 changes from streams doc (apache#4784) MINOR: Update version numbers to 1.1.1-SNAPSHOT MINOR: Fix ReassignPartitionsClusterTest.testHwAfterPartitionReassignment test (apache#4781) ...
guozhangwang
pushed a commit
that referenced
this pull request
Jun 12, 2018
…ng transaction (#4826) As Frederic reported on mailing list under the subject "kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION", producer#abortTransaction should only be called when transactionInFlight is true. Reviewers: Guozhang Wang <wangguoz@gmail.com>, Matthias J. Sax <matthias@confluent.io>
guozhangwang
pushed a commit
that referenced
this pull request
Jun 12, 2018
…ng transaction (#4826) As Frederic reported on mailing list under the subject "kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION", producer#abortTransaction should only be called when transactionInFlight is true. Reviewers: Guozhang Wang <wangguoz@gmail.com>, Matthias J. Sax <matthias@confluent.io>
Contributor
|
Also cherry-picked to 1.0 and 0.11.0 |
ying-zheng
pushed a commit
to ying-zheng/kafka
that referenced
this pull request
Jul 6, 2018
…ng transaction (apache#4826) As Frederic reported on mailing list under the subject "kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION", producer#abortTransaction should only be called when transactionInFlight is true. Reviewers: Guozhang Wang <wangguoz@gmail.com>, Matthias J. Sax <matthias@confluent.io>
allenxwang
pushed a commit
to allenxwang/kafka
that referenced
this pull request
Aug 24, 2018
…:1.1-nflx to 1.1-nflx * commit '84eeea7fe4b3a64b84b87d231969acfee4fb7544': Fix a bug where the ReqeustPerSec API version hash map is not updated. KAFKA-6772: Load credentials from ZK before accepting connections (apache#4867) KAFKA-6742: TopologyTestDriver error when dealing with stores from GlobalKTable MINOR: Mention that -1 disables retention by time (apache#4881) KAFKA-6790: Fix Streams processor node broken link (apache#4874) MINOR: Java 10 fixes so that the build passes (apache#4839) MINOR: Update Jackson to 2.9.5 (apache#4776) MINOR: Downgrade to Gradle 4.5.1 (apache#4791) MINOR: Java 9/10 fixes, gradle and minor deps update (apache#4725) KAFKA-6752: Enable unclean leader election metric (apache#4838) KAFKA-6054: Fix upgrade path from Kafka Streams v0.10.0 (apache#4773) KAFKA-6747 Check whether there is in-flight transaction before aborting transaction (apache#4826) KAFKA-6748: double check before scheduling a new task after the punctuate call (apache#4827)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As Frederic reported on mailing list under the subject "kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION", producer#abortTransaction should only be called when transactionInFlight is true.
Committer Checklist (excluded from commit message)