Author: tomekr
Date: Mon Jul 18 15:34:31 2016
New Revision: 1753246
URL: http://svn.apache.org/viewvc?rev=1753246&view=rev
Log:
OAK-3131: DocumentNodeStore doesn't serialize blobs that have been created in a
different store
BlobSerializer will now also check the origin store.
Modified:
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
Modified:
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java?rev=1753246&r1=1753245&r2=1753246&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
(original)
+++
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
Mon Jul 18 15:34:31 2016
@@ -74,6 +74,10 @@ public class BlobStoreBlob implements Bl
return blobId;
}
+ public BlobStore getBlobStore() {
+ return blobStore;
+ }
+
//------------------------------------------------------------< Object >--
@Override
Modified:
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1753246&r1=1753245&r2=1753246&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
(original)
+++
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
Mon Jul 18 15:34:31 2016
@@ -333,8 +333,14 @@ public final class DocumentNodeStore
private final BlobSerializer blobSerializer = new BlobSerializer() {
@Override
public String serialize(Blob blob) {
+
if (blob instanceof BlobStoreBlob) {
- return ((BlobStoreBlob) blob).getBlobId();
+ BlobStoreBlob bsb = (BlobStoreBlob) blob;
+ BlobStore bsbBlobStore = bsb.getBlobStore();
+ //see if the blob has been created from another store
+ if (bsbBlobStore != null && bsbBlobStore.equals(blobStore)) {
+ return bsb.getBlobId();
+ }
}
String id;