You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What is the bug?
When segment replication is enabled on the index with more than 1 replica, exception happens when we try to do search on the replica if index contains deleted docs.
How can one reproduce the bug?
Steps to reproduce the behavior:
Setup a cluster with more than 1 node.
Create a knn index with segment replication enabled and atleast 1 replica.
Caused by: NotSerializableExceptionWrapper[class_cast_exception: class org.apache.lucene.index.SoftDeletesDirectoryReaderWrapper$SoftDeletesFilterCodecReader cannot be cast to class org.apache.lucene.index.SegmentReader (org.apache.lucene.index.SoftDeletesDirectoryReaderWrapper$SoftDeletesFilterCodecReader and org.apache.lucene.index.SegmentReader are in unnamed module of loader 'app')]
at org.opensearch.knn.index.query.KNNWeight.doANNSearch(KNNWeight.java:198)
at org.opensearch.knn.index.query.KNNWeight.scorer(KNNWeight.java:122)
at org.apache.lucene.search.Weight.scorerSupplier(Weight.java:135)
at org.apache.lucene.search.BooleanWeight.scorerSupplier(BooleanWeight.java:596)
at org.apache.lucene.search.Weight.bulkScorer(Weight.java:165)
at org.apache.lucene.search.BooleanWeight.bulkScorer(BooleanWeight.java:449)
at org.opensearch.search.internal.ContextIndexSearcher$1.bulkScorer(ContextIndexSearcher.java:383)
at org.opensearch.search.internal.ContextIndexSearcher.searchLeaf(ContextIndexSearcher.java:324)
at org.opensearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:283)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:552)
at org.opensearch.search.query.QueryPhase.searchWithCollector(QueryPhase.java:362)
at org.opensearch.search.query.QueryPhase$DefaultQueryPhaseSearcher.searchWithCollector(QueryPhase.java:449)
at org.opensearch.search.query.QueryPhase$DefaultQueryPhaseSearcher.searchWith(QueryPhase.java:433)
at org.opensearch.search.query.QueryPhaseSearcherWrapper.searchWith(QueryPhaseSearcherWrapper.java:60)
at org.opensearch.neuralsearch.search.query.HybridQueryPhaseSearcher.searchWith(HybridQueryPhaseSearcher.java:49)
at org.opensearch.search.query.QueryPhase.executeInternal(QueryPhase.java:284)
at org.opensearch.search.query.QueryPhase.execute(QueryPhase.java:157)
at org.opensearch.search.SearchService.loadOrExecuteQueryPhase(SearchService.java:556)
at org.opensearch.search.SearchService.executeQueryPhase(SearchService.java:620)
at org.opensearch.search.SearchService$2.lambda$onResponse$0(SearchService.java:589)
at org.opensearch.action.ActionRunnable.lambda$supply$0(ActionRunnable.java:74)
at org.opensearch.action.ActionRunnable$2.doRun(ActionRunnable.java:89)
at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)
at org.opensearch.threadpool.TaskAwareRunnable.doRun(TaskAwareRunnable.java:78)
at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)
at org.opensearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:59)
at org.opensearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:922)
at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.lang.Thread.run(Thread.java:840)
What is the expected behavior?
Search should be successful.
What is your host/environment?
Plugins: KNN
Do you have any screenshots?
NA
Do you have any additional context?
Add any other context about the problem.
The text was updated successfully, but these errors were encountered:
What is the bug?
When segment replication is enabled on the index with more than 1 replica, exception happens when we try to do search on the replica if index contains deleted docs.
How can one reproduce the bug?
Steps to reproduce the behavior:
preference=_replica
Now index data in the index.
Now run the search by using preference as _replica
Error Logs:
What is the expected behavior?
Search should be successful.
What is your host/environment?
Do you have any screenshots?
NA
Do you have any additional context?
Add any other context about the problem.
The text was updated successfully, but these errors were encountered: