cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8766) SSTableRewriter opens all sstables as early before completing the compaction
Date Mon, 09 Feb 2015 20:05:35 GMT


Benedict commented on CASSANDRA-8766:

bq. I'm not clear on why we couldn't just use the original TMP 

It would break the SegmentedFile contract - we construct new readers on the file based on
its path, for the entire lifetime of the object. Since we would rename it when we finish,
the path would no longer exist and these new readers would fail to be created (though any
existing readers would be fine on *nix machines). Of course, having readers open would also
break renaming on Windows, so I don't think it would get us anywhere even if that weren't
the case...

> SSTableRewriter opens all sstables as early before completing the compaction
> ----------------------------------------------------------------------------
>                 Key: CASSANDRA-8766
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>            Priority: Minor
>             Fix For: 2.1.4
> In CASSANDRA-8320, we made the rewriter call switchWriter() inside of finish(); in CASSANDRA-8124
was made switchWriter() open its data as EARLY. This combination means we no longer honour
disabling of early opening, which is potentially a problem on windows for the deletion of
the contents (which is why we disable early opening on Windows).
> I've commented on CASSANDRA-8124, as I suspect I'm missing something about this. Although
I have no doubt the old behaviour of opening as TMP file reduced the window for problems,
and opening as TMPLINK now does the same, it's not entirely clear to me its the right fix
(though it may be) since we shouldn't be susceptible to this window anyway? Either way, we
perhaps need to come up with something else, because this could potentially break windows
support. Perhaps if we simply did not swap in the TMPLINK file so that it never actually get
mapped, it would perhaps be enough. [~JoshuaMcKenzie], WDYT?

This message was sent by Atlassian JIRA

View raw message