[ https://issues.apache.org/jira/browse/KAFKA-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15994187#comment-15994187 ]
ASF GitHub Bot commented on KAFKA-5130: --------------------------------------- GitHub user guozhangwang opened a pull request: https://github.com/apache/kafka/pull/2964 KAFKA-5130: Refactor TC In-memory Cache 1. Collapsed the `ownedPartitions`, `pendingTxnMap` and the `transactionMetadataCache` into a single in-memory structure, which is a two-layered map: first keyed by the transactionTxnLog, and then valued with the current coordinatorEpoch of that map plus another map keyed by the transactional id. 2. Use `transactionalId` across the modules in transactional coordinator, attach this id with the transactional marker entries. 3. Use two keys: `transactionalId` and `txnLogPartitionId` in the writeMarkerPurgatory as well as passing it along with the TxnMarkerEntry, so that `TransactionMarkerRequestCompletionHandler` can use it to access the two-layered map upon getting responses. 4. Use one queue per `broker-id` and `txnLogPartitionId`. Also when there is a possible update on the end point associated with the `broker-id`, update the Node without clearing the queue but relying on the requests to retry in the next round. You can merge this pull request into a Git repository by running: $ git pull https://github.com/guozhangwang/kafka K5130-refactor-tc-inmemory-cache Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/2964.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 #2964 ---- commit 758a74c835a6fb32ae4c142b276699820644f068 Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-05-02T18:09:35Z collapse ownedPartition with MetadataCache commit 3495d13e69123d6097c4f05bcae5f2bdcf7ccff5 Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-05-03T01:21:57Z centralize callbacks for send markers and append to log commit c6548003d7c835857a226e57810b104a8501645e Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-05-03T01:39:09Z minor refactoring commit 218a572e1c612bad5f9a15d90d37b7c6c2b29d99 Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-05-03T02:18:42Z rebase from trunk commit 19f033e69091c5a656a473374ea6031d01fcd061 Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-05-03T02:32:41Z minor fixes ---- > Change InterBrokerSendThread to use a Queue per broker > ------------------------------------------------------ > > Key: KAFKA-5130 > URL: https://issues.apache.org/jira/browse/KAFKA-5130 > Project: Kafka > Issue Type: Sub-task > Components: core > Reporter: Damian Guy > > Change the {{InterBrokerSendThread}} to use a queue per broker and only > attempt to send to brokers that are ready -- This message was sent by Atlassian JIRA (v6.3.15#6346)