cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10421) Potential issue with LogTransaction as it only checks in a single directory for files
Date Mon, 12 Oct 2015 11:00:08 GMT

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

Stefania commented on CASSANDRA-10421:
--------------------------------------

Thanks for explaining your opinion. The way you envision it, duplicating files does seem easier
than segmenting files across disks. It doesn't however change the fact that we write more
and have therefore more chances of failing to do so therefore having to roll back a transaction.

bq. The only downside is that users modifying these files would need to modify them all, but
this is not overly onerous.

Users are not supposed to modify these files but if they did delete one txn file then they
could be quite surprised to see temporary files disappear on startup because of a txn log
in another folder. Especially given that we only list temporary files by looking at the local
txn file. That was one of my concerns. Unless you meant to *not* store the relative file path
(the path of an sstable relative to a txn file), in which case we would only be able to delete
temporary files if the txn file in the sstable folder has not been deleted?

To be clear, we would roll back the transaction if we failed to write a record to _any file_
except for the last record, where we could tolerate failures provided we have written to at
least one file?


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

Mime
View raw message