You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Joshua McKenzie (JIRA)" <ji...@apache.org> on 2014/04/04 23:53:25 UTC
[jira] [Updated] (CASSANDRA-4050) Rewrite RandomAccessReader to use
FileChannel / nio to address Windows file access violations
[ https://issues.apache.org/jira/browse/CASSANDRA-4050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua McKenzie updated CASSANDRA-4050:
---------------------------------------
Description:
On Windows w/older java I/O libraries the files are not opened with FILE_SHARE_DELETE. This causes problems as hard-links cannot be deleted while the original file is opened - our snapshots are a big problem in particular. The nio library and FileChannels open with FILE_SHARE_DELETE which should help remedy this problem.
Original text:
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.
was:
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.
Summary: Rewrite RandomAccessReader to use FileChannel / nio to address Windows file access violations (was: Unable to remove snapshot files on Windows while original sstables are live)
> Rewrite RandomAccessReader to use FileChannel / nio to address Windows file access violations
> ---------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-4050
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4050
> Project: Cassandra
> Issue Type: Bug
> Environment: Windows 7
> Reporter: Jim Newsham
> Assignee: Joshua McKenzie
> Priority: Minor
> Attachments: CASSANDRA-4050_v1.patch
>
>
> On Windows w/older java I/O libraries the files are not opened with FILE_SHARE_DELETE. This causes problems as hard-links cannot be deleted while the original file is opened - our snapshots are a big problem in particular. The nio library and FileChannels open with FILE_SHARE_DELETE which should help remedy this problem.
> Original text:
> 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
(v6.2#6252)