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 al...@apache.org on 2015/09/25 10:21:49 UTC
svn commit: r1705250 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index:
AsyncIndexUpdate.java IndexUpdate.java package-info.java
Author: alexparvulescu
Date: Fri Sep 25 08:21:49 2015
New Revision: 1705250
URL: http://svn.apache.org/viewvc?rev=1705250&view=rev
Log:
OAK-3325 MissingIndexProviderStrategy should warn when setting the reindex flag
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/package-info.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java?rev=1705250&r1=1705249&r2=1705250&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java Fri Sep 25 08:21:49 2015
@@ -795,16 +795,15 @@ public class AsyncIndexUpdate implements
static class DefaultMissingIndexProviderStrategy extends
MissingIndexProviderStrategy {
- private final Set<String> ignore = newHashSet("disabled");
-
@Override
- public void onMissingIndex(String type, NodeBuilder definition)
+ public void onMissingIndex(String type, NodeBuilder definition, String path)
throws CommitFailedException {
- if (ignore.contains(type)) {
+ if (isDisabled(type)) {
return;
}
throw new CommitFailedException("Async", 2,
- "Missing index provider detected for type ["+type+"]");
+ "Missing index provider detected for type [" + type
+ + "] on index [" + path + "]");
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java?rev=1705250&r1=1705249&r2=1705250&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java Fri Sep 25 08:21:49 2015
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.plugin
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Lists.newArrayListWithCapacity;
+import static com.google.common.collect.Sets.newHashSet;
import static org.apache.jackrabbit.oak.api.Type.BOOLEAN;
import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_PROPERTY_NAME;
@@ -47,6 +48,7 @@ import com.google.common.base.Stopwatch;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
@@ -167,10 +169,11 @@ public class IndexUpdate implements Edit
}
boolean shouldReindex = shouldReindex(definition,
before, name);
+ String indexPath = getIndexPath(getPath(), name);
Editor editor = rootState.provider.getIndexEditor(type, definition, rootState.root,
- rootState.newCallback(getIndexPath(getPath(), name), shouldReindex));
+ rootState.newCallback(indexPath, shouldReindex));
if (editor == null) {
- missingProvider.onMissingIndex(type, definition);
+ missingProvider.onMissingIndex(type, definition, indexPath);
} else if (shouldReindex) {
if (definition.getBoolean(REINDEX_ASYNC_PROPERTY_NAME)
&& definition.getString(ASYNC_PROPERTY_NAME) == null) {
@@ -312,16 +315,29 @@ public class IndexUpdate implements Edit
}
public static class MissingIndexProviderStrategy {
- public void onMissingIndex(String type, NodeBuilder definition)
+
+ private final Set<String> ignore = newHashSet("disabled");
+
+ public void onMissingIndex(String type, NodeBuilder definition, String indexPath)
throws CommitFailedException {
+ if (isDisabled(type)) {
+ return;
+ }
// trigger reindexing when an indexer becomes available
PropertyState ps = definition.getProperty(REINDEX_PROPERTY_NAME);
if (ps != null && ps.getValue(BOOLEAN)) {
// already true, skip the update
return;
}
+ log.warn(
+ "Missing index provider of type [{}], requesting reindex on [{}]",
+ type, indexPath);
definition.setProperty(REINDEX_PROPERTY_NAME, true);
}
+
+ boolean isDisabled(String type) {
+ return ignore.contains(type);
+ }
}
public IndexUpdate withMissingProviderStrategy(
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/package-info.java?rev=1705250&r1=1705249&r2=1705250&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/package-info.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/package-info.java Fri Sep 25 08:21:49 2015
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("2.0.0")
+@Version("3.0.0")
@Export(optional = "provide:=true")
package org.apache.jackrabbit.oak.plugins.index;