mirror of https://github.com/apache/cassandra
Faster startup by only scanning each directory for temporary files once
patch by Jeff Jirsa; reviewed by Joel Knighton for CASSANDRA-12114
This commit is contained in:
parent
904137c384
commit
864e009b08
|
|
@ -1,4 +1,5 @@
|
|||
3.0.9
|
||||
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
|
||||
* Respond with v1/v2 protocol header when responding to driver that attempts
|
||||
to connect with too low of a protocol version (CASSANDRA-11464)
|
||||
* NullPointerExpception when reading/compacting table (CASSANDRA-11988)
|
||||
|
|
|
|||
|
|
@ -581,6 +581,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
public static void scrubDataDirectories(CFMetaData metadata)
|
||||
{
|
||||
Directories directories = new Directories(metadata, initialDirectories);
|
||||
Set<File> cleanedDirectories = new HashSet<>();
|
||||
|
||||
// clear ephemeral snapshots that were not properly cleared last session (CASSANDRA-7357)
|
||||
clearEphemeralSnapshots(directories);
|
||||
|
|
@ -594,10 +595,15 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
for (Map.Entry<Descriptor,Set<Component>> sstableFiles : directories.sstableLister(Directories.OnTxnErr.IGNORE).list().entrySet())
|
||||
{
|
||||
Descriptor desc = sstableFiles.getKey();
|
||||
File directory = desc.directory;
|
||||
Set<Component> components = sstableFiles.getValue();
|
||||
|
||||
for (File tmpFile : desc.getTemporaryFiles())
|
||||
tmpFile.delete();
|
||||
if (!cleanedDirectories.contains(directory))
|
||||
{
|
||||
cleanedDirectories.add(directory);
|
||||
for (File tmpFile : desc.getTemporaryFiles())
|
||||
tmpFile.delete();
|
||||
}
|
||||
|
||||
File dataFile = new File(desc.filenameFor(Component.DATA));
|
||||
if (components.contains(Component.DATA) && dataFile.length() > 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue