[ https://issues.apache.org/jira/browse/GEODE-2768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15966629#comment-15966629 ]
ASF GitHub Bot commented on GEODE-2768: --------------------------------------- Github user gesterzhou commented on a diff in the pull request: https://github.com/apache/geode/pull/451#discussion_r111261018 --- Diff: geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneQueryFunction.java --- @@ -132,6 +133,25 @@ private LuceneIndexImpl getLuceneIndex(final Region region, try { index = (LuceneIndexImpl) service.getIndex(searchContext.getIndexName(), region.getFullPath()); + if (index == null && service instanceof LuceneServiceImpl) { + if (((LuceneServiceImpl) service).getDefinedIndex(searchContext.getIndexName(), + region.getFullPath()) != null) { + // The node may be in the process of recovering, where we have the index defined but yet + // to be recovered + // If we retry fast enough, we could get a stack overflow based on the way function + // execution is currently written + // Instead we will add an artificial sleep to slow down the retry at this point + // Hopefully in the future, the function execution would retry without adding to the stack + // and this can be removed + try { --- End diff -- Is sleep 100 ms enough? How about using a 10 seconds timeout, but check if it's ready every 100ms? > Lucene Queries executed before index is fully created should be retried > ----------------------------------------------------------------------- > > Key: GEODE-2768 > URL: https://issues.apache.org/jira/browse/GEODE-2768 > Project: Geode > Issue Type: Bug > Components: lucene > Reporter: Jason Huynh > Assignee: Jason Huynh > > With the feature to destroy a Lucene Index, parts of the querying function > were changed to handle the event where we execute a query on an index that is > no longer present. However, the scenario where we execute a query on an > index that is defined but has not been created can also arise. > We want to handle the case where we have defined the index, but have yet to > create it due to a brief window in restart. -- This message was sent by Atlassian JIRA (v6.3.15#6346)