Author: amitj
Date: Thu Jun 23 05:21:28 2016
New Revision: 1749821
URL: http://svn.apache.org/viewvc?rev=1749821&view=rev
Log:
OAK-4430: DataStoreBlobStore#getAllChunkIds fetches DataRecord when not needed
Merge r1747342 from trunk
Modified:
jackrabbit/oak/branches/1.4/ (props changed)
jackrabbit/oak/branches/1.4/oak-blob-cloud/pom.xml
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/SharedS3Backend.java
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStore.java
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedS3DataStore.java
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
jackrabbit/oak/branches/1.4/oak-parent/pom.xml
Propchange: jackrabbit/oak/branches/1.4/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jun 23 05:21:28 2016
@@ -1,3 +1,3 @@
/jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737349,1737998,1738004,1738775,1738795,1738833,1738950,1738957,1738963,1739894,1740116,1740625-1740626,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172,1743343,1744265,1744959,1745038,1745197,1745368,1746086,1746117,1746342,1746345,1746696,1746981,1747341,1747492,1748505,1748553,1748870,1749275,1749350,1749464,1749475,1749662
+/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737349,1737998,1738004,1738775,1738795,1738833,1738950,1738957,1738963,1739894,1740116,1740625-1740626,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172,1743343,1744265,1744959,1745038,1745197,1745368,1746086,1746117,1746342,1746345,1746696,1746981,1747341-1747342,1747492,1748505,1748553,1748870,1749275,1749350,1749464,1749475,1749662
/jackrabbit/trunk:1345480
Modified: jackrabbit/oak/branches/1.4/oak-blob-cloud/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-blob-cloud/pom.xml?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-blob-cloud/pom.xml (original)
+++ jackrabbit/oak/branches/1.4/oak-blob-cloud/pom.xml Thu Jun 23 05:21:28 2016
@@ -108,6 +108,10 @@
</dependency>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
Modified:
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/S3Backend.java
Thu Jun 23 05:21:28 2016
@@ -691,6 +691,18 @@ public class S3Backend implements Shared
}
}
+ @Override
+ public Iterator<DataRecord> getAllRecords() {
+ return new RecordsIterator<DataRecord>(
+ new Function<S3ObjectSummary, DataRecord>() {
+ @Override
+ public DataRecord apply(S3ObjectSummary input) {
+ return new S3DataRecord(s3service, bucket,
getIdentifierName(input.getKey()),
+ input.getLastModified().getTime(), input.getSize());
+ }
+ });
+ }
+
/**
* Returns an iterator over the S3 objects
* @param <T>
Modified:
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/SharedS3Backend.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/SharedS3Backend.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/SharedS3Backend.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/SharedS3Backend.java
Thu Jun 23 05:21:28 2016
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.core.data.D
import org.apache.jackrabbit.core.data.DataStoreException;
import java.io.InputStream;
+import java.util.Iterator;
import java.util.List;
/**
@@ -70,4 +71,13 @@ public interface SharedS3Backend extends
* @param prefix the prefix of the record
*/
void deleteAllMetadataRecords(String prefix);
+
+ /**
+ * Returns a list of all DataRecords
+ *
+ * @return iterator over DataRecords
+ * @throws DataStoreException
+ */
+ Iterator<DataRecord> getAllRecords()
+ throws DataStoreException;
}
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStore.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStore.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStore.java
Thu Jun 23 05:21:28 2016
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.blob;
import java.io.InputStream;
+import java.util.Iterator;
import java.util.List;
import org.apache.jackrabbit.core.data.DataRecord;
@@ -75,6 +76,13 @@ public interface SharedDataStore {
void deleteAllMetadataRecords(String prefix);
/**
+ * Retrieved an iterator over all DataRecords.
+ *
+ * @return iterator over DataRecords
+ */
+ Iterator<DataRecord> getAllRecords();
+
+ /**
* Gets the type.
*
* @return the type
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
Thu Jun 23 05:21:28 2016
@@ -364,18 +364,7 @@ public class DataStoreBlobStore implemen
@Override
public Iterator<String> getAllChunkIds(final long maxLastModifiedTime)
throws Exception {
- return transform(filter(transform(delegate.getAllIdentifiers(), new
Function<DataIdentifier, DataRecord>() {
- @Nullable
- @Override
- public DataRecord apply(@Nullable DataIdentifier input) {
- try {
- return delegate.getRecord(input);
- } catch (DataStoreException e) {
- log.warn("Error occurred while fetching DataRecord for
identifier {}", input, e);
- }
- return null;
- }
- }), new Predicate<DataRecord>() {
+ return transform(filter(getAllRecords(), new Predicate<DataRecord>() {
@Override
public boolean apply(@Nullable DataRecord input) {
if (input != null && (maxLastModifiedTime <= 0
@@ -465,6 +454,14 @@ public class DataStoreBlobStore implemen
}
@Override
+ public Iterator<DataRecord> getAllRecords() {
+ if (delegate instanceof SharedDataStore) {
+ return ((SharedDataStore) delegate).getAllRecords();
+ }
+ return Iterators.emptyIterator();
+ }
+
+ @Override
public Type getType() {
if (delegate instanceof SharedDataStore) {
return Type.SHARED;
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
Thu Jun 23 05:21:28 2016
@@ -218,6 +218,26 @@ public class OakFileDataStore extends Fi
}
@Override
+ public Iterator<DataRecord> getAllRecords() {
+ final String path = normalizeNoEndSeparator(getPath());
+ final OakFileDataStore store = this;
+ return Files.fileTreeTraverser().postOrderTraversal(new
File(getPath()))
+ .filter(new Predicate<File>() {
+ @Override
+ public boolean apply(File input) {
+ return input.isFile() &&
+
!normalizeNoEndSeparator(input.getParent()).equals(path);
+ }
+ })
+ .transform(new Function<File, DataRecord>() {
+ @Override
+ public DataRecord apply(File input) {
+ return new FileDataRecord(store, new
DataIdentifier(input.getName()), input);
+ }
+ }).iterator();
+ }
+
+ @Override
public Type getType() {
return Type.SHARED;
}
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedS3DataStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedS3DataStore.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedS3DataStore.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedS3DataStore.java
Thu Jun 23 05:21:28 2016
@@ -26,6 +26,7 @@ import org.apache.jackrabbit.oak.blob.cl
import org.apache.jackrabbit.oak.plugins.blob.SharedDataStore;
import java.io.InputStream;
+import java.util.Iterator;
import java.util.List;
/**
@@ -69,6 +70,11 @@ public class SharedS3DataStore extends S
}
@Override
+ public Iterator<DataRecord> getAllRecords() {
+ return backend.getAllRecords();
+ }
+
+ @Override
public Type getType() {
return Type.SHARED;
}
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
Thu Jun 23 05:21:28 2016
@@ -18,37 +18,53 @@
*/
package org.apache.jackrabbit.oak.plugins.blob;
+import static com.google.common.collect.Sets.newHashSet;
+import static junit.framework.Assert.assertEquals;
+import static
org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.cleanup;
+import static
org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.getBlobStore;
import static org.hamcrest.CoreMatchers.instanceOf;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.Random;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
+import javax.annotation.Nullable;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
import junit.framework.Assert;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.core.data.DataRecord;
+import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
import org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils;
import
org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils.SharedStoreRecordType;
import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils;
import org.junit.After;
import org.junit.Assume;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Test for SharedDataUtils to test addition, retrieval and deletion of root
records.
*/
public class SharedDataStoreUtilsTest {
- SharedDataStore dataStore;
+ private static final Logger log =
LoggerFactory.getLogger(SharedDataStoreUtilsTest.class);
+
+ DataStoreBlobStore dataStore;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
try {
- Assume.assumeThat(DataStoreUtils.getBlobStore(),
instanceOf(SharedDataStore.class));
+ Assume.assumeThat(getBlobStore(),
instanceOf(SharedDataStore.class));
} catch (Exception e) {
Assume.assumeNoException(e);
}
@@ -56,7 +72,7 @@ public class SharedDataStoreUtilsTest {
@Test
public void test() throws Exception {
- dataStore = DataStoreUtils.getBlobStore();
+ dataStore = getBlobStore();
String repoId1 = UUID.randomUUID().toString();
String repoId2 = UUID.randomUUID().toString();
@@ -72,7 +88,7 @@ public class SharedDataStoreUtilsTest {
dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]),
SharedStoreRecordType.MARKED_START_MARKER.getNameFromId(repoId1));
DataRecord markerRec1 =
dataStore.getMetadataRecord(SharedStoreRecordType.MARKED_START_MARKER.getNameFromId(repoId1));
- Assert.assertEquals(
+ assertEquals(
SharedStoreRecordType.MARKED_START_MARKER.getIdFromName(markerRec1.getIdentifier().toString()),
repoId1);
long lastModifiedMarkerRec1 = markerRec1.getLastModified();
@@ -89,14 +105,14 @@ public class SharedDataStoreUtilsTest {
DataRecord rec2 =
dataStore.getMetadataRecord(SharedStoreRecordType.REFERENCES.getNameFromId(repoId2));
long lastModifiedRec2 = rec2.getLastModified();
-
Assert.assertEquals(SharedStoreRecordType.REPOSITORY.getIdFromName(repo1.getIdentifier().toString()),
repoId1);
- Assert.assertEquals(
+
assertEquals(SharedStoreRecordType.REPOSITORY.getIdFromName(repo1.getIdentifier().toString()),
repoId1);
+ assertEquals(
SharedStoreRecordType.REPOSITORY.getIdFromName(repo2.getIdentifier().toString()),
repoId2);
- Assert.assertEquals(
+ assertEquals(
SharedStoreRecordType.REFERENCES.getIdFromName(rec1.getIdentifier().toString()),
repoId1);
- Assert.assertEquals(
+ assertEquals(
SharedStoreRecordType.REFERENCES.getIdFromName(rec2.getIdentifier().toString()),
repoId2);
@@ -108,7 +124,7 @@ public class SharedDataStoreUtilsTest {
// Since, we don't care about which file specifically but only the
earliest timestamped record
// Earliest time should be the min timestamp from the 2 reference files
long minRefTime = (lastModifiedRec1 <= lastModifiedRec2 ?
lastModifiedRec1 : lastModifiedRec2);
- Assert.assertEquals(
+ assertEquals(
SharedDataStoreUtils.getEarliestRecord(
dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType())).getLastModified(),
minRefTime);
@@ -129,13 +145,59 @@ public class SharedDataStoreUtilsTest {
Assert.assertTrue(dataStore.getAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType()).isEmpty());
// Repository ids should still be available
- Assert.assertEquals(2,
+ assertEquals(2,
dataStore.getAllMetadataRecords(SharedStoreRecordType.REPOSITORY.getType()).size());
}
+ @Test
+ public void testGetAllChunkIds() throws Exception {
+ dataStore = getBlobStore();
+ int number = 1010;
+ Set<String> added = newHashSet();
+ for (int i = 0; i < number; i++) {
+ String rec = dataStore.writeBlob(randomStream(i, 16516));
+ added.add(rec);
+ }
+
+ Set<String> retrieved = newHashSet(dataStore.getAllChunkIds(0));
+ assertEquals(added, retrieved);
+ }
+
+ @Test
+ public void testGetAllRecords() throws Exception {
+ dataStore = getBlobStore();
+ int number = 1010;
+ Set<String> added = newHashSet();
+ for (int i = 0; i < number; i++) {
+ String rec = dataStore.addRecord(randomStream(i, 16516))
+ .getIdentifier().toString();
+ added.add(rec);
+ }
+
+ Set<String> retrieved =
newHashSet(Iterables.transform(newHashSet(dataStore.getAllRecords()),
+ new Function<DataRecord, String>() {
+ @Nullable @Override public String apply(@Nullable DataRecord
input) {
+ return input.getIdentifier().toString();
+ }
+ }));
+ assertEquals(added, retrieved);
+ }
+
+ static InputStream randomStream(int seed, int size) {
+ Random r = new Random(seed);
+ byte[] data = new byte[size];
+ r.nextBytes(data);
+ return new ByteArrayInputStream(data);
+ }
+
@After
public void close() throws IOException {
FileUtils.cleanDirectory(new File(DataStoreUtils.getHomeDir()));
+ try {
+ cleanup(dataStore.getDataStore(), new Date());
+ } catch (Exception e) {
+ log.error("Error closing data store", e);
+ }
}
}
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
Thu Jun 23 05:21:28 2016
@@ -28,7 +28,12 @@ import java.util.List;
import java.util.Random;
import java.util.Set;
+import javax.annotation.Nullable;
+
+import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -38,6 +43,7 @@ import org.apache.jackrabbit.core.data.D
import org.apache.jackrabbit.core.data.DataStoreException;
import org.apache.jackrabbit.oak.spi.blob.AbstractBlobStoreTest;
import org.apache.jackrabbit.oak.spi.blob.BlobStoreInputStream;
+import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
import org.apache.jackrabbit.oak.spi.blob.stats.BlobStatsCollector;
import org.junit.After;
import org.junit.Before;
@@ -159,9 +165,16 @@ public class DataStoreBlobStoreTest exte
DataIdentifier d20 = new DataIdentifier("d-20");
DataIdentifier d30 = new DataIdentifier("d-30");
List<DataIdentifier> dis = ImmutableList.of(d10, d20, d30);
-
- DataStore mockedDS = mock(DataStore.class);
- when(mockedDS.getAllIdentifiers()).thenReturn(dis.iterator());
+ List<DataRecord> recs = Lists.newArrayList(
+ Iterables.transform(dis, new Function<DataIdentifier,
DataRecord>() {
+ @Nullable
+ @Override
+ public DataRecord apply(@Nullable DataIdentifier input) {
+ return new TimeDataRecord(input);
+ }
+ }));
+ OakFileDataStore mockedDS = mock(OakFileDataStore.class);
+ when(mockedDS.getAllRecords()).thenReturn(recs.iterator());
when(mockedDS.getRecord(new DataIdentifier("d-10"))).thenReturn(new
TimeDataRecord(d10));
when(mockedDS.getRecord(new DataIdentifier("d-20"))).thenReturn(new
TimeDataRecord(d20));
when(mockedDS.getRecord(new DataIdentifier("d-30"))).thenReturn(new
TimeDataRecord(d30));
@@ -170,7 +183,6 @@ public class DataStoreBlobStoreTest exte
Iterator<String> chunks = ds.getAllChunkIds(25);
Set<String> expected = Sets.newHashSet("d-10","d-20");
assertEquals(expected, Sets.newHashSet(chunks));
-
}
@Test
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
Thu Jun 23 05:21:28 2016
@@ -97,7 +97,7 @@ public class DataStoreUtils {
}
public static FileDataStore createFDS(File root, int minRecordLength) {
- FileDataStore fds = new FileDataStore();
+ OakFileDataStore fds = new OakFileDataStore();
fds.setPath(root.getAbsolutePath());
fds.setMinRecordLength(minRecordLength);
fds.init(null);
Modified: jackrabbit/oak/branches/1.4/oak-parent/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-parent/pom.xml?rev=1749821&r1=1749820&r2=1749821&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-parent/pom.xml (original)
+++ jackrabbit/oak/branches/1.4/oak-parent/pom.xml Thu Jun 23 05:21:28 2016
@@ -167,6 +167,8 @@
<filter>!org.apache.jackrabbit.oak.namepath</filter>
<filter>!org.apache.jackrabbit.oak.osgi</filter>
<filter>!org.apache.jackrabbit.oak.plugins.atomic</filter>
+ <filter>!org.apache.jackrabbit.oak.plugins.blob</filter>
+
<filter>!org.apache.jackrabbit.oak.plugins.blob.datastore</filter>
<filter>!org.apache.jackrabbit.oak.plugins.commit</filter>
<filter>!org.apache.jackrabbit.oak.plugins.identifier</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index</filter>