Author: catholicon
Date: Tue Apr 23 07:47:31 2019
New Revision: 1857993
URL: http://svn.apache.org/viewvc?rev=1857993&view=rev
Log:
OAK-7065: Remove orphan file from local directory in case indexing fails
Fixing oak-run build failure (OAK-8259) due to changes done in r1857937.
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierCleanupTest.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/FailedIndexUpdateTest.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LuceneIndexHelper.java
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
Tue Apr 23 07:47:31 2019
@@ -127,13 +127,13 @@ public class IndexCopier implements Copy
public Directory wrapForWrite(LuceneIndexDefinition definition, Directory
remote,
boolean reindexMode, String dirName,
- COWDirecetoryTracker cowDirecetoryTracker)
throws IOException {
- Directory local = createLocalDirForIndexWriter(definition, dirName,
reindexMode, cowDirecetoryTracker);
+ COWDirectoryTracker cowDirectoryTracker)
throws IOException {
+ Directory local = createLocalDirForIndexWriter(definition, dirName,
reindexMode, cowDirectoryTracker);
String indexPath = definition.getIndexPath();
checkIntegrity(indexPath, local, remote);
CopyOnWriteDirectory cowDirectory = new CopyOnWriteDirectory(this,
remote, local, reindexMode, indexPath, executor);
- cowDirecetoryTracker.registerOpenedDirectory(cowDirectory);
+ cowDirectoryTracker.registerOpenedDirectory(cowDirectory);
return cowDirectory;
}
@@ -157,12 +157,12 @@ public class IndexCopier implements Copy
protected Directory createLocalDirForIndexWriter(LuceneIndexDefinition
definition, String dirName,
boolean reindexMode,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
String indexPath = definition.getIndexPath();
File indexWriterDir = getIndexDir(definition, indexPath, dirName);
if (reindexMode) {
-
cowDirecetoryTracker.registerReindexingLocalDirectory(indexWriterDir);
+
cowDirectoryTracker.registerReindexingLocalDirectory(indexWriterDir);
}
//By design indexing in Oak is single threaded so Lucene locking
@@ -651,11 +651,11 @@ public class IndexCopier implements Copy
}
}
- public interface COWDirecetoryTracker {
+ public interface COWDirectoryTracker {
void registerOpenedDirectory(@NotNull CopyOnWriteDirectory directory);
void registerReindexingLocalDirectory(@NotNull File dir);
- COWDirecetoryTracker NOOP = new COWDirecetoryTracker() {
+ COWDirectoryTracker NOOP = new COWDirectoryTracker() {
@Override
public void registerOpenedDirectory(CopyOnWriteDirectory
directory) {}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
Tue Apr 23 07:47:31 2019
@@ -20,7 +20,7 @@ import com.google.common.collect.Lists;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.index.*;
-import
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.COWDirecetoryTracker;
+import
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.COWDirectoryTracker;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.ActiveDeletedBlobCollector;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback;
@@ -263,7 +263,7 @@ public class LuceneIndexEditorProvider i
}
protected DirectoryFactory newDirectoryFactory(BlobDeletionCallback
blobDeletionCallback,
- COWDirecetoryTracker
cowDirectoryTracker) {
+ COWDirectoryTracker
cowDirectoryTracker) {
return new DefaultDirectoryFactory(indexCopier, blobStore,
blobDeletionCallback, cowDirectoryTracker);
}
@@ -301,7 +301,7 @@ public class LuceneIndexEditorProvider i
return (CommitContext)
indexingContext.getCommitInfo().getInfo().get(CommitContext.NAME);
}
- private static class COWDirectoryCleanupCallback implements
IndexCommitCallback, COWDirecetoryTracker {
+ private static class COWDirectoryCleanupCallback implements
IndexCommitCallback, COWDirectoryTracker {
private static final Logger LOG =
LoggerFactory.getLogger(COWDirectoryCleanupCallback.class);
private List<CopyOnWriteDirectory> openedCoWDirectories =
Lists.newArrayList();
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java
Tue Apr 23 07:47:31 2019
@@ -22,9 +22,8 @@ package org.apache.jackrabbit.oak.plugin
import java.io.File;
import java.io.IOException;
-import org.apache.jackrabbit.oak.plugins.index.IndexCommitCallback;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
-import
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.COWDirecetoryTracker;
+import
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.COWDirectoryTracker;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback;
import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
@@ -43,18 +42,18 @@ public class DefaultDirectoryFactory imp
private final IndexCopier indexCopier;
private final GarbageCollectableBlobStore blobStore;
private final BlobDeletionCallback blobDeletionCallback;
- private final COWDirecetoryTracker cowDirecetoryTracker;
+ private final COWDirectoryTracker cowDirectoryTracker;
public DefaultDirectoryFactory(@Nullable IndexCopier indexCopier,
@Nullable GarbageCollectableBlobStore blobStore) {
- this(indexCopier, blobStore, BlobDeletionCallback.NOOP,
COWDirecetoryTracker.NOOP);
+ this(indexCopier, blobStore, BlobDeletionCallback.NOOP,
COWDirectoryTracker.NOOP);
}
public DefaultDirectoryFactory(@Nullable IndexCopier indexCopier,
@Nullable GarbageCollectableBlobStore blobStore,
@NotNull
ActiveDeletedBlobCollectorFactory.BlobDeletionCallback blobDeletionCallback,
- @NotNull COWDirecetoryTracker
cowDirectoryTracker) {
+ @NotNull IndexCopier.COWDirectoryTracker
cowDirectoryTracker) {
this.indexCopier = indexCopier;
this.blobStore = blobStore;
this.blobDeletionCallback = blobDeletionCallback;
- this.cowDirecetoryTracker = cowDirectoryTracker;
+ this.cowDirectoryTracker = cowDirectoryTracker;
}
@Override
@@ -70,7 +69,7 @@ public class DefaultDirectoryFactory imp
Directory d = indexCopier.wrapForRead(indexPath, definition,
directory, dirName);
d.close();
}
- directory = indexCopier.wrapForWrite(definition, directory,
reindex, dirName, cowDirecetoryTracker);
+ directory = indexCopier.wrapForWrite(definition, directory,
reindex, dirName, cowDirectoryTracker);
}
return directory;
}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierCleanupTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierCleanupTest.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierCleanupTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierCleanupTest.java
Tue Apr 23 07:47:31 2019
@@ -476,7 +476,7 @@ public class IndexCopierCleanupTest {
@Override
protected Directory createLocalDirForIndexWriter(LuceneIndexDefinition
definition, String dirName,
boolean reindexMode,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
return new DelayCopyingSimpleFSDirectory(baseFSDir);
}
@@ -489,7 +489,7 @@ public class IndexCopierCleanupTest {
}
Directory getCoWDir() throws IOException {
- return wrapForWrite(defn, remote, false, INDEX_DATA_CHILD_NAME,
COWDirecetoryTracker.NOOP);
+ return wrapForWrite(defn, remote, false, INDEX_DATA_CHILD_NAME,
COWDirectoryTracker.NOOP);
}
}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
Tue Apr 23 07:47:31 2019
@@ -596,7 +596,7 @@ public class IndexCopierTest {
LuceneIndexDefinition defn = new LuceneIndexDefinition(root,
builder.getNodeState(), "/foo");
Directory dir = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
byte[] t1 = writeFile(dir, "t1");
@@ -615,7 +615,7 @@ public class IndexCopierTest {
LuceneIndexDefinition defn = new LuceneIndexDefinition(root,
builder.getNodeState(), "/foo");
Directory dir = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
byte[] t1 = writeFile(dir, "t1");
@@ -645,7 +645,7 @@ public class IndexCopierTest {
//additions would not be picked up given COW assume remote directory
//to be read only
Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
assertEquals(newHashSet("t1"), newHashSet(local.listAll()));
assertEquals(t1.length, local.fileLength("t1"));
@@ -703,7 +703,7 @@ public class IndexCopierTest {
byte[] t1 = writeFile(remote, "t1");
byte[] t2 = writeFile(remote, "t2");
Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
assertEquals(newHashSet("t1", "t2"), newHashSet(local.listAll()));
byte[] t3 = writeFile(local, "t3");
@@ -754,7 +754,7 @@ public class IndexCopierTest {
};
byte[] t1 = writeFile(remote, "t1");
Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
//Read should be served from remote
readRemotes.clear();readLocal.clear();
@@ -785,7 +785,7 @@ public class IndexCopierTest {
Directory remote = new CloseSafeDir();
final Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
byte[] t1 = writeFile(local, "t1");
assertTrue(local.fileExists("t1"));
@@ -848,7 +848,7 @@ public class IndexCopierTest {
Directory remote = new CloseSafeDir();
final Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
byte[] t1 = writeFile(local, "t1");
assertTrue(local.fileExists("t1"));
@@ -917,7 +917,7 @@ public class IndexCopierTest {
};
final Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
toFail.add("t2");
byte[] t1 = writeFile(local, "t1");
byte[] t2 = writeFile(local, "t2");
@@ -956,7 +956,7 @@ public class IndexCopierTest {
};
final Directory local = copier.wrapForWrite(defn, remote, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
toPause.add("t2");
byte[] t1 = writeFile(local, "t1");
byte[] t2 = writeFile(local, "t2");
@@ -1028,7 +1028,7 @@ public class IndexCopierTest {
//Start copying a file to remote via COW
Directory cow1 = copier.wrapForWrite(defn, remote2, false,
INDEX_DATA_CHILD_NAME,
- IndexCopier.COWDirecetoryTracker.NOOP);
+ IndexCopier.COWDirectoryTracker.NOOP);
byte[] f2 = writeFile(cow1, "f2");
//Before copy is done to remote lets delete f1 from remote and
@@ -1157,7 +1157,7 @@ public class IndexCopierTest {
@Override
protected Directory createLocalDirForIndexWriter(LuceneIndexDefinition
definition, String dirName,
boolean reindexMode,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
return baseDir;
}
}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
Tue Apr 23 07:47:31 2019
@@ -216,8 +216,8 @@ public class LucenePropertyIndexTest ext
@Override
public Directory wrapForWrite(LuceneIndexDefinition definition,
Directory remote, boolean
reindexMode, String dirName,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
- Directory ret = super.wrapForWrite(definition, remote,
reindexMode, dirName, cowDirecetoryTracker);
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
+ Directory ret = super.wrapForWrite(definition, remote,
reindexMode, dirName, cowDirectoryTracker);
cowDir = getFSDirPath(ret);
return ret;
}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneWritesOnSegmentStatsTest.java
Tue Apr 23 07:47:31 2019
@@ -236,8 +236,8 @@ public class LuceneWritesOnSegmentStatsT
@Override
public Directory wrapForWrite(LuceneIndexDefinition definition,
Directory remote, boolean
reindexMode, String dirName,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
- Directory ret = super.wrapForWrite(definition, remote,
reindexMode, dirName, cowDirecetoryTracker);
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
+ Directory ret = super.wrapForWrite(definition, remote,
reindexMode, dirName, cowDirectoryTracker);
cowDir = getFSDirPath(ret);
return ret;
}
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/FailedIndexUpdateTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/FailedIndexUpdateTest.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/FailedIndexUpdateTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/FailedIndexUpdateTest.java
Tue Apr 23 07:47:31 2019
@@ -238,9 +238,9 @@ public class FailedIndexUpdateTest {
public Directory wrapForWrite(LuceneIndexDefinition definition,
Directory remote,
boolean reindexMode,
String dirName,
- COWDirecetoryTracker
cowDirecetoryTracker) throws IOException {
+ COWDirectoryTracker
cowDirectoryTracker) throws IOException {
CopyOnWriteDirectory dir = (CopyOnWriteDirectory)
- super.wrapForWrite(definition, remote, reindexMode,
dirName, cowDirecetoryTracker);
+ super.wrapForWrite(definition, remote, reindexMode,
dirName, cowDirectoryTracker);
String indexPath = definition.getIndexPath();
dirs.put(indexPath, dir);
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LuceneIndexHelper.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LuceneIndexHelper.java?rev=1857993&r1=1857992&r2=1857993&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LuceneIndexHelper.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/LuceneIndexHelper.java
Tue Apr 23 07:47:31 2019
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.IOException;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
+import
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier.COWDirectoryTracker;
import
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.ActiveDeletedBlobCollectorFactory.BlobDeletionCallback;
import
org.apache.jackrabbit.oak.plugins.index.lucene.directory.DirectoryFactory;
@@ -55,7 +56,8 @@ public class LuceneIndexHelper implement
indexHelper.getMountInfoProvider()
) {
@Override
- protected DirectoryFactory
newDirectoryFactory(BlobDeletionCallback blobDeletionCallback) {
+ protected DirectoryFactory
newDirectoryFactory(BlobDeletionCallback blobDeletionCallback,
+
COWDirectoryTracker cowDirectoryTracker) {
return directoryFactory;
}
};