[
https://issues.apache.org/jira/browse/GEODE-3926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Huynh resolved GEODE-3926.
--------------------------------
Resolution: Fixed
> Lucene Query should throw an exception while lucene index is being built on
> existing region
> -------------------------------------------------------------------------------------------
>
> Key: GEODE-3926
> URL: https://issues.apache.org/jira/browse/GEODE-3926
> Project: Geode
> Issue Type: Sub-task
> Components: lucene
> Reporter: Jason Huynh
> Assignee: Udo Kohlmeyer
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> When GEODE-3928 is complete, we will have a process to index existing data in
> a region when a lucene index is added. That process may take some time. While
> indexing is going on queries should not block for a long period of time or
> return incorrect results. Instead the query should throw an exception
> indicating that the index does not exist/is not built yet.
> Acceptance:
> Queries executed while indexing is going on throw an exception, rather than
> blocking or returning incorrect results.
> Implementation Details:
> GEODE-3928 is about modifying computeRepository to actually do the indexing.
> Queries also call compute repository, so they will block until
> computeRepository is done.
> To avoid blocking, we can make computeRepo to return an IndexRepository in
> an "building" state. That index repo could contain an asynchronous task that
> is actually indexing the data. Until the asynchronous task is complete, the
> IndexRepostory could throw exceptions from query operations. This has the
> advantage of making sure that whenever computeRepository is called, we always
> at least start or make sure there is a task running to index the data.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)