Author: tommaso
Date: Mon Feb 29 11:26:43 2016
New Revision: 1732863

URL: http://svn.apache.org/viewvc?rev=1732863&view=rev
Log:
OAK-4068 - reverted previous bad commit

Modified:
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java?rev=1732863&r1=1732862&r2=1732863&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
 Mon Feb 29 11:26:43 2016
@@ -245,13 +245,6 @@ public class LuceneIndexEditorContext {
             getWriter();
         }
 
-        boolean updateSuggestions = shouldUpdateSuggestions();
-        boolean forcedUpdateSuggester = false;
-        if (writer == null && updateSuggestions) {
-            forcedUpdateSuggester = true;
-            getWriter();
-        }
-
         if (writer != null) {
             if (log.isTraceEnabled()) {
                 trackIndexSizeInfo(writer, definition, directory);
@@ -259,10 +252,8 @@ public class LuceneIndexEditorContext {
 
             final long start = PERF_LOGGER.start();
 
-            if (updateSuggestions) {
-                updateSuggester(writer.getAnalyzer());
-                PERF_LOGGER.end(start, -1, "Completed suggester for directory 
{}", definition);
-            }
+            updateSuggester(writer.getAnalyzer());
+            PERF_LOGGER.end(start, -1, "Completed suggester for directory {}", 
definition);
 
             writer.close();
             PERF_LOGGER.end(start, -1, "Closed writer for directory {}", 
definition);
@@ -270,21 +261,16 @@ public class LuceneIndexEditorContext {
             directory.close();
             PERF_LOGGER.end(start, -1, "Closed directory for directory {}", 
definition);
 
-            if (!forcedUpdateSuggester) {
-                //OAK-2029 Record the last updated status so
-                //as to make IndexTracker detect changes when index
-                //is stored in file system
-                NodeBuilder status = definitionBuilder.child(":status");
-                status.setProperty("lastUpdated", 
ISO8601.format(getCalendar()), Type.DATE);
-                status.setProperty("indexedNodes", indexedNodes);
-            }
-
+            //OAK-2029 Record the last updated status so
+            //as to make IndexTracker detect changes when index
+            //is stored in file system
+            NodeBuilder status = definitionBuilder.child(":status");
+            status.setProperty("lastUpdated", ISO8601.format(getCalendar()), 
Type.DATE);
+            status.setProperty("indexedNodes",indexedNodes);
             PERF_LOGGER.end(start, -1, "Overall Closed IndexWriter for 
directory {}", definition);
 
-            if (!forcedUpdateSuggester) {
-                textExtractionStats.log(reindex);
-                textExtractionStats.collectStats(extractedTextCache);
-            }
+            textExtractionStats.log(reindex);
+            textExtractionStats.collectStats(extractedTextCache);
         }
     }
 
@@ -294,24 +280,10 @@ public class LuceneIndexEditorContext {
      * @param analyzer the analyzer used to update the suggester
      */
     private void updateSuggester(Analyzer analyzer) throws IOException {
-        NodeBuilder suggesterStatus = 
definitionBuilder.child(":suggesterStatus");
-        DirectoryReader reader = DirectoryReader.open(writer, false);
-        final OakDirectory suggestDirectory = new 
OakDirectory(definitionBuilder, ":suggest-data", definition, false);
-        try {
-            SuggestHelper.updateSuggester(suggestDirectory, analyzer, reader);
-            suggesterStatus.setProperty("lastUpdated", 
ISO8601.format(getCalendar()), Type.DATE);
-        } catch (Throwable e) {
-            log.warn("could not update suggester", e);
-        } finally {
-            suggestDirectory.close();
-            reader.close();
-        }
-    }
-
-    private boolean shouldUpdateSuggestions() {
-        boolean updateSuggestions = false;
 
         if (definition.isSuggestEnabled()) {
+
+            boolean updateSuggester = false;
             NodeBuilder suggesterStatus = 
definitionBuilder.child(":suggesterStatus");
             if (suggesterStatus.hasProperty("lastUpdated")) {
                 PropertyState suggesterLastUpdatedValue = 
suggesterStatus.getProperty("lastUpdated");
@@ -319,14 +291,26 @@ public class LuceneIndexEditorContext {
                 int updateFrequency = 
definition.getSuggesterUpdateFrequencyMinutes();
                 suggesterLastUpdatedTime.add(Calendar.MINUTE, updateFrequency);
                 if (getCalendar().after(suggesterLastUpdatedTime)) {
-                    updateSuggestions = true;
+                    updateSuggester = true;
                 }
             } else {
-                updateSuggestions = true;
+                updateSuggester = true;
             }
-        }
 
-        return updateSuggestions;
+            if (updateSuggester) {
+                DirectoryReader reader = DirectoryReader.open(writer, false);
+                final OakDirectory suggestDirectory = new 
OakDirectory(definitionBuilder, ":suggest-data", definition, false);
+                try {
+                    SuggestHelper.updateSuggester(suggestDirectory, analyzer, 
reader);
+                    suggesterStatus.setProperty("lastUpdated", 
ISO8601.format(getCalendar()), Type.DATE);
+                } catch (Throwable e) {
+                    log.warn("could not update suggester", e);
+                } finally {
+                    suggestDirectory.close();
+                    reader.close();
+                }
+            }
+        }
     }
 
     /** Only set for testing */

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java?rev=1732863&r1=1732862&r2=1732863&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
 Mon Feb 29 11:26:43 2016
@@ -628,7 +628,7 @@ public class IndexDefinitionTest {
         //default config
         NodeBuilder indexRoot = builder;
         IndexDefinition idxDefn = new IndexDefinition(root, 
indexRoot.getNodeState());
-        assertEquals("Default config", 10, 
idxDefn.getSuggesterUpdateFrequencyMinutes());
+        assertEquals("Default config", 60, 
idxDefn.getSuggesterUpdateFrequencyMinutes());
 
         //namespaced config shadows old method
         indexRoot = builder.child("shadowConfigRoot");
@@ -636,7 +636,7 @@ public class IndexDefinitionTest {
         indexRoot.child(LuceneIndexConstants.SUGGESTION_CONFIG);
         idxDefn = new IndexDefinition(root, indexRoot.getNodeState());
         assertEquals("Namespaced config node should shadow global config",
-                10, idxDefn.getSuggesterUpdateFrequencyMinutes());
+                60, idxDefn.getSuggesterUpdateFrequencyMinutes());
 
         //config for backward config
         indexRoot = builder.child("backwardCompatibilityRoot");

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java?rev=1732863&r1=1732862&r2=1732863&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/SuggestionIntervalTest.java
 Mon Feb 29 11:26:43 2016
@@ -144,32 +144,4 @@ public class SuggestionIntervalTest {
         assertEquals(1, suggestions.size());
         assertEquals("indexedNode", suggestions.iterator().next());
     }
-
-    //OAK-4068
-    @Test
-    public void suggestionUpdateWithoutIndexChange() throws Exception {
-        final String nodeType = "nt:unstructured";
-
-        createSuggestIndex(nodeType);
-        session.save();
-
-        long currTime = clock.getTime();
-        long toTime = currTime + 
TimeUnit.MINUTES.toMillis(IndexDefinition.DEFAULT_SUGGESTER_UPDATE_FREQUENCY_MINUTES);
-
-        root.addNode("indexedNode", nodeType);
-        session.save();
-
-        //wait for suggestions refresh time
-        clock.waitUntil(toTime);
-        clock.getTime();//get one more tick
-
-        //push a change which should not make any change in the index but yet 
should help update suggestions
-        root.addNode("some-non-index-change", "oak:Unstructured");
-        session.save();
-
-        Set<String> suggestions = getSuggestions(nodeType, "indexedn");
-
-        assertEquals(1, suggestions.size());
-        assertEquals("indexedNode", suggestions.iterator().next());
-    }
 }


Reply via email to