cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua McKenzie (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4050) Unable to remove snapshot files on Windows while original sstables are live
Date Mon, 17 Mar 2014 21:58:49 GMT


Joshua McKenzie commented on CASSANDRA-4050:

After changing RAF over to nio.2-based I'm still seeing snapshot deletion errors.  A little
digging turned up:

As this applies to deleting memory mapped files but not necessarily hard-links with memory
mapped segments in the original I figured I'd test it.  I've confirmed that if the original
file has any data that's in a MappedByteBuffer even if the original RAF it was associated
with is closed, Windows refuses to delete the hard-link.

Some local logging indicates that we have MmappedSegmentedFile Segments open on the original
keyspaces in question when deletion is attempted which isn't surprising.  The following implies
that there *might* be a way around this but it involves turning off all page caching for these
files which isn't what we want for SSTableReaders on Windows:

> Unable to remove snapshot files on Windows while original sstables are live
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-4050
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Windows 7
>            Reporter: Jim Newsham
>            Assignee: Joshua McKenzie
>            Priority: Minor
> I'm using Cassandra 1.0.8, on Windows 7.  When I take a snapshot of the database, I find
that I am unable to delete the snapshot directory (i.e., dir named "{datadir}\{keyspacename}\snapshots\{snapshottag}")
while Cassandra is running:  "The action can't be completed because the folder or a file in
it is open in another program.  Close the folder or file and try again" [in Windows Explorer].
 If I terminate Cassandra, then I can delete the directory with no problem.
> I expect to be able to move or delete the snapshotted files while Cassandra is running,
as this should not affect the runtime operation of Cassandra.

This message was sent by Atlassian JIRA

View raw message