You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2016/07/18 12:49:30 UTC

svn commit: r1753215 - in /jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins: blob/BlobStoreBlob.java document/DocumentNodeStore.java

Author: tomekr
Date: Mon Jul 18 12:49:30 2016
New Revision: 1753215

URL: http://svn.apache.org/viewvc?rev=1753215&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.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
    jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java

Modified: jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java?rev=1753215&r1=1753214&r2=1753215&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java (original)
+++ jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreBlob.java Mon Jul 18 12:49:30 2016
@@ -74,6 +74,10 @@ public class BlobStoreBlob implements Bl
         return blobId;
     }
 
+    public BlobStore getBlobStore() {
+        return blobStore;
+    }
+
     //------------------------------------------------------------< Object >--
 
     @Override

Modified: jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1753215&r1=1753214&r2=1753215&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (original)
+++ jackrabbit/oak/branches/1.2/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java Mon Jul 18 12:49:30 2016
@@ -346,8 +346,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;