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