Author: reschke
Date: Wed Apr 13 15:36:07 2016
New Revision: 1738957
URL: http://svn.apache.org/viewvc?rev=1738957&view=rev
Log:
OAK-4199: RDBBlobStore: garbage collection fails to delete DATA records when
there was subsequent blobstore activity
Enable new test case and fix SQL statement.
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java?rev=1738957&r1=1738956&r2=1738957&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
Wed Apr 13 15:36:07 2016
@@ -518,8 +518,10 @@ public class RDBBlobStore extends Cachin
if (maxLastModifiedTime > 0) {
// delete only if the last modified is OLDER than x
metaStatement.append(" and LASTMOD <= ?");
- // delete if there is NO entry where the last modified of
the meta is YOUNGER than x
- dataStatement.append(" and not exists(select * from " +
this.tnMeta + " m where ID = m.ID and m.LASTMOD > ?)");
+ // delete if there is NO entry where the last modified of
+ // the meta is YOUNGER than x
+ dataStatement.append(" and not exists(select * from " +
this.tnMeta + " where " + this.tnMeta + ".ID = "
+ + this.tnData + ".ID and LASTMOD > ?)");
}
prepMeta = con.prepareStatement(metaStatement.toString());
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java?rev=1738957&r1=1738956&r2=1738957&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
Wed Apr 13 15:36:07 2016
@@ -36,7 +36,6 @@ import org.apache.jackrabbit.oak.spi.blo
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -192,7 +191,6 @@ public class RDBBlobStoreTest extends Ab
Assert.assertNotNull(RDBBlobStoreFriend.readBlockFromBackend(blobStore,
digest));
}
- @Ignore("OAK-4199")
@Test
public void testDeleteChunks() throws Exception {
byte[] data1 = new byte[256];