[ https://issues.apache.org/jira/browse/CASSANDRA-8766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312770#comment-14312770 ]
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: https://issues.apache.org/jira/browse/CASSANDRA-8766 > 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 (v6.3.4#6332)