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 ca...@apache.org on 2018/05/28 10:40:50 UTC
svn commit: r1832376 - in /jackrabbit/oak/trunk/oak-lucene/src:
main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java
test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java
Author: catholicon
Date: Mon May 28 10:40:50 2018
New Revision: 1832376
URL: http://svn.apache.org/viewvc?rev=1832376&view=rev
Log:
OAK-7508: Text extraction timeout can lead to NPE
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java?rev=1832376&r1=1832375&r2=1832376&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCache.java Mon May 28 10:40:50 2018
@@ -157,9 +157,12 @@ public class ExtractedTextCache {
if (EXTRACT_FORGET_TIMEOUT) {
return;
}
+
String id = blob.getContentIdentity();
- timeoutMap.put(id, getText(extractedText));
- storeTimeoutMap();
+ if (id != null) {
+ timeoutMap.put(id, getText(extractedText));
+ storeTimeoutMap();
+ }
}
private static String getText(ExtractedText text) {
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java?rev=1832376&r1=1832375&r2=1832376&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ExtractedTextCacheTest.java Mon May 28 10:40:50 2018
@@ -185,6 +185,17 @@ public class ExtractedTextCacheTest {
assertEquals(1, cache.getStatsMBean().getTimeoutCount());
}
+ @Test
+ public void nullContentIdentityBlob() throws Exception {
+ ExtractedTextCache cache = new ExtractedTextCache(0, 0);
+ Blob b = new IdBlob("hello", null);
+ cache.put(b, ExtractedText.ERROR);
+ assertNull(cache.get("/a", "foo", b, false));
+ cache.putTimeout(b, ExtractedText.ERROR);
+ assertNull("Cache returned non null text for blob with null content identity",
+ cache.get("/a", "foo", b, false));
+ }
+
private static class IdBlob extends ArrayBasedBlob {
final String id;