Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-3739

Remove failed snapshot track file in Windows OS for Cassandra adapter

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.22.0
    • Component/s: cassandra-adapter
    • Labels:
      None

      Description

      In Windows OS, CassandraUnit leaves an extra "cassandra/.toDelete" snapshot track file.
      After migrating to Gradle, it is flagged as "unapproved license" and fails on "rat" task.
      It is annoying to manually delete this file every time.

      The issue is also mentioned in CALCITE-2442. But I found the snapshot file still exists with the fix.

        @AfterClass
        public static void tearDown() {
          if (RULE instanceof CassandraCQLUnit) {
            CassandraCQLUnit rule = (CassandraCQLUnit) RULE;
            rule.getSession().close();
            rule.getCluster().close();
            // see https://issues.apache.org/jira/browse/CALCITE-2442
            // see https://issues.apache.org/jira/browse/CASSANDRA-13085
            // Is it done by cluster.close() already ?
            if (FBUtilities.isWindows) {
              WindowsFailedSnapshotTracker.deleteOldSnapshots();
            }
          }
        }
      

      I make some profling work. It seems that the snapshot track file is locked by other threads.
      "The process cannot access the file because it is being used by another process."
      Any ideas?

        Attachments

        1. screen.png
          4 kB
          Feng Zhu

          Activity

            People

            • Assignee:
              sereda Andrei Sereda
              Reporter:
              donnyzone Feng Zhu
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: