[
https://issues.apache.org/jira/browse/CASSANDRA-10421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14951140#comment-14951140
]
Ariel Weisberg commented on CASSANDRA-10421:
--------------------------------------------
[This is common to both branches of
shouldCommit|https://github.com/stef1927/cassandra/commit/49a2d5f289c98fcf646272cfab777d20001f9b9e#diff-2b93b5a182c483fe61783561b4d1e211R681].
Also shouldn't both wait for deletions even if none are expected since you are
checking to see if it is done incorrectly?
If am reading the tests correctly on commit failure it's leaving all the files
so some of my previous questions are already answered.
The tests for the new code are convincing.
In my mind the only open question is how to handle the scenario where the log
on one disk has you remove files while the log on another disk doesn't have you
add their replacements because it's corrupt. That wouldn't happen if the log
was replicated to all the disks. Even if it was though, and you lost a disk,
maybe you need to know you lost a disk containing replacement files and that
the transaction actually needs to handle that case where it can't get to the
aborted or committed state.
> 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 rc2
>
>
> 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)