You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ismael Juma (JIRA)" <ji...@apache.org> on 2017/10/27 02:15:01 UTC
[jira] [Resolved] (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 resolved KAFKA-6131.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.1.0
0.11.0.2
1.0.0
> 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)