Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-4050

Rewrite RandomAccessReader to use FileChannel / nio to address Windows file access violations

    Details

      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.

        Attachments

        1. CASSANDRA-4050_v1.patch
          28 kB
          Joshua McKenzie
        2. CASSANDRA-4050_v2.patch
          29 kB
          Joshua McKenzie
        3. CASSANDRA-4050_v3.patch
          29 kB
          Joshua McKenzie

          Issue Links

            Activity

              People

              • Assignee:
                JoshuaMcKenzie Joshua McKenzie
                Reporter:
                jn Jim Newsham
                Reviewer:
                Benedict
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: