[ 
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)

Reply via email to