Author: jukka
Date: Tue Nov 12 16:36:54 2013
New Revision: 1541132

URL: http://svn.apache.org/r1541132
Log:
OAK-1087: TCK tests fail with SegmentMK and MongoStore

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoJournal.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoStore.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoJournal.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoJournal.java?rev=1541132&r1=1541131&r2=1541132&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoJournal.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoJournal.java
 Tue Nov 12 16:36:54 2013
@@ -142,6 +142,9 @@ class MongoJournal implements Journal {
             return false;
         }
 
+        // Flush any pending records
+        store.getWriter().flush();
+
         BasicDBObjectBuilder builder = BasicDBObjectBuilder.start();
         builder.add("_id", name);
         if (state.containsField("parent")) {

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoStore.java?rev=1541132&r1=1541131&r2=1541132&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/mongo/MongoStore.java
 Tue Nov 12 16:36:54 2013
@@ -82,8 +82,11 @@ public class MongoStore extends Abstract
     @Override
     public void writeSegment(
             UUID segmentId, byte[] data, int offset, int length) {
-        byte[] d = new byte[length];
-        System.arraycopy(data, offset, d, 0, length);
+        if (offset != 0 || length != data.length) {
+            byte[] b = new byte[length];
+            System.arraycopy(data, offset, b, 0, length);
+            data = b;
+        }
 
         BasicDBObject segment = new BasicDBObject();
         segment.put("_id", segmentId.toString());

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java?rev=1541132&r1=1541131&r2=1541132&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
 Tue Nov 12 16:36:54 2013
@@ -51,8 +51,7 @@ public abstract class TCKBase extends Te
         Setup.wrap(this, OakRepositoryStub.class.getName());
         Setup.wrap(this, OakTarMKRepositoryStub.class.getName());
         if (OakSegmentMKRepositoryStub.isAvailable()) {
-            // disabled for now. see OAK-1087
-            // Setup.wrap(this, OakSegmentMKRepositoryStub.class.getName());
+            Setup.wrap(this, OakSegmentMKRepositoryStub.class.getName());
         }
         if (OakMongoMKRepositoryStub.isMongoDBAvailable()) {
             Setup.wrap(this, OakMongoMKRepositoryStub.class.getName());


Reply via email to