You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Ismael Juma (JIRA)" <ji...@apache.org> on 2017/10/27 02:15:01 UTC

[jira] [Updated] (KAFKA-6131) Transaction markers are sometimes discarded if txns complete concurrently

     [ https://issues.apache.org/jira/browse/KAFKA-6131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ismael Juma updated KAFKA-6131:
-------------------------------
    Affects Version/s: 0.11.0.1

> Transaction markers are sometimes discarded if txns complete concurrently
> -------------------------------------------------------------------------
>
>                 Key: KAFKA-6131
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6131
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.11.0.1, 1.0.0
>            Reporter: Rajini Sivaram
>            Assignee: Rajini Sivaram
>             Fix For: 1.0.0, 0.11.0.2, 1.1.0
>
>
> Concurrent tests being added under KAFKA-6096 for transaction coordinator fail to complete some transactions when multiple transactions are completed concurrently.
> The problem is with the following code snippet - there are two very similar uses of concurrent map in {{TransactionMarkerChannelManager}} and the test fails because some transaction markers are discarded. {{getOrElseUpdate}} in scala maps are not atomic. The test passes consistently with one thread.
> {quote}
> val markersQueuePerBroker: concurrent.Map[Int, TxnMarkerQueue] = new ConcurrentHashMap[Int, TxnMarkerQueue]().asScala
> val brokerRequestQueue = markersQueuePerBroker.getOrElseUpdate(brokerId, new TxnMarkerQueue(broker))
> {quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)