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

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

    XMLWordPrintableJSON

Details

    • Low

    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

              JoshuaMcKenzie Joshua McKenzie
              jn Jim Newsham
              Joshua McKenzie
              Benedict Elliott Smith
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: