GitHub user apurvam opened a pull request:
https://github.com/apache/kafka/pull/2970
Kafka-5160; KIP-98 Broker side support for TxnOffsetCommitRequest
This patch adds support for the `TxnOffsetCommitRequest` added in KIP-98.
Desired handling for this request is [described
here](https://docs.google.com/document/d/11Jqy_GjUGtdXJK94XGsEIK7CP1SnQGdp2eF0wSw9ra8/edit#bookmark=id.55yzhvkppi6m)
.
The functionality includes handling the stable state of receiving
`TxnOffsetCommitRequests` and materializing results only when the commit marker
for the transaction is received. It also handles partition emigration and
immigration and rebuilds the required data structures on these events.
Tests are included for the basic stable state functionality. Still need to
add tests for the immigration/emigration functionality.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apurvam/kafka
KAFKA-5160-broker-side-support-for-txnoffsetcommitrequest
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/2970.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2970
commit 925e104ca60bccb6a57ba96c1aaa4135f8734dab
Author: Apurva Mehta
Date: 2017-05-02T22:07:04Z
WIP
commit 27760828c7672b31050cc0c02e9e6e3f6256a0db
Author: Apurva Mehta
Date: 2017-05-03T06:59:32Z
WIP commit:
1. Able to write txn offset commits to the log and delay
materialization until the commit marker appears.
2. Able to recover these commits on partition load.
Todo:
1. Tests for the above.
2. Materialize or drop cached offset commits when the transaction
marker is received.
commit 00ab335cc0423c3544b052cccb5cb47e0e42dcc8
Author: Apurva Mehta
Date: 2017-05-03T07:06:30Z
Small simplification
commit f8139073e7c25781b521c855420ba83b5a1c252a
Author: Apurva Mehta
Date: 2017-05-03T07:07:54Z
fix indentation
commit 4a4bbd39ed71edc04ecd31c5000a1b83c73483d3
Author: Apurva Mehta
Date: 2017-05-03T23:03:05Z
Code complete barring integration. Now to add unit tests
commit 8993b93d2e9565016d9be528b7451e1c0a865a35
Author: Apurva Mehta
Date: 2017-05-04T01:00:25Z
Added the first test cases
commit 684ccea1b35a44c19e148f9c9b44cebd5bcb4fa9
Author: Apurva Mehta
Date: 2017-05-04T01:16:10Z
Completed the functional test cases
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---