cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7757) Possible Atomicity Violations in StreamSession and ThriftSessionManager
Date Wed, 29 Jul 2015 23:58:04 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-7757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14646938#comment-14646938
] 

Paulo Motta commented on CASSANDRA-7757:
----------------------------------------

+1

> Possible Atomicity Violations in StreamSession and ThriftSessionManager
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-7757
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7757
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Diogo Sousa
>            Assignee: Paulo Motta
>            Priority: Minor
>             Fix For: 2.1.x
>
>
> I'm developing a tool for atomicity violation detection and I think it have found two
atomicity violations in cassandra.
> In org.apache.cassandra.streaming.StreamSession there might be an atomicity violation
in method addTransferFiles(), lines 310-314:
> {noformat}
> 310:     StreamTransferTask task = transfers.get(cfId);
>             if (task == null)
>             {
>                 task = new StreamTransferTask(this, cfId);
> 314:         transfers.put(cfId, task);
>             }
> {noformat}
> A concurrent thread can insert a transfer with the same uuid creating two StreamTransferTask,
and only one get into "transfers".
> In org.apache.cassandra.thrift.ThriftSessionManager, a simular situation can occur in
method currentSession(), lines 57-61:
> {noformat}
> 57:  ThriftClientState cState = activeSocketSessions.get(socket);
>         if (cState == null)
>         {
>             cState = new ThriftClientState(socket);
> 51:       activeSocketSessions.put(socket, cState);
>         }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message