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 re...@apache.org on 2017/10/09 13:59:40 UTC
svn commit: r1811575 -
/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Author: reschke
Date: Mon Oct 9 13:59:40 2017
New Revision: 1811575
URL: http://svn.apache.org/viewvc?rev=1811575&view=rev
Log:
OAK-6782: RDBDocumentStore: inconsistent handling of cache invalidation on remove()
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1811575&r1=1811574&r2=1811575&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Mon Oct 9 13:59:40 2017
@@ -279,26 +279,33 @@ public class RDBDocumentStore implements
@Override
public <T extends Document> void remove(Collection<T> collection, String id) {
- delete(collection, id);
- invalidateCache(collection, id, true);
+ try {
+ delete(collection, id);
+ } finally {
+ invalidateCache(collection, id, true);
+ }
}
@Override
public <T extends Document> void remove(Collection<T> collection, List<String> ids) {
- for (String id : ids) {
- invalidateCache(collection, id, true);
+ try {
+ delete(collection, ids);
+ } finally {
+ for (String id : ids) {
+ invalidateCache(collection, id, true);
+ }
}
- delete(collection, ids);
}
@Override
- public <T extends Document> int remove(Collection<T> collection,
- Map<String, Map<Key, Condition>> toRemove) {
- int num = delete(collection, toRemove);
- for (String id : toRemove.keySet()) {
- invalidateCache(collection, id, true);
+ public <T extends Document> int remove(Collection<T> collection, Map<String, Map<Key, Condition>> toRemove) {
+ try {
+ return delete(collection, toRemove);
+ } finally {
+ for (String id : toRemove.keySet()) {
+ invalidateCache(collection, id, true);
+ }
}
- return num;
}
@Override