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

Ariel Weisberg commented on CASSANDRA-10421:
--------------------------------------------

Can you update the Windows branch so we can see how it does on Windows before 
committing?

I reviewed the additional commit and it looks good. You are fixing multiples 
failures right? Let's  see if I can list them so I am sure I understand.

The first was the bad assumption in LogRecord.getExistingFiles, which caused it 
to throw, which exposed the missing exception handling in Memtable (leaking the 
transaction) which exposed the fact that leaked transactions when cleaned up by 
the garbage collector fail to cleanup due to an incorrect assertion.

So when you fixed the assertion you call abort. What happens if a transaction 
commits, but isn't closed and that leads to the commit followed by an abort? Or 
is closing the only way to get a commit?

> Potential issue with LogTransaction as it only checks in a single directory 
> for files
> -------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10421
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10421
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Marcus Eriksson
>            Assignee: Stefania
>            Priority: Blocker
>             Fix For: 3.0.0
>
>
> When creating a new LogTransaction we try to create the new logfile in the 
> same directory as the one we are writing to, but as we use 
> {{[directories.getDirectoryForNewSSTables()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java#L125]}}
>  this might end up in "any" of the configured data directories. If it does, 
> we will not be able to clean up leftovers as we check for files in the same 
> directory as the logfile was created: 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java#L163
> cc [~Stefania]



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

Reply via email to