You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael Sun (JIRA)" <ji...@apache.org> on 2017/02/10 19:24:41 UTC

[jira] [Commented] (SOLR-10115) Corruption in read-side of SOLR-HDFS stack

    [ https://issues.apache.org/jira/browse/SOLR-10115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15861721#comment-15861721 ] 

Michael Sun commented on SOLR-10115:
------------------------------------

In BlockDirectoryCache, keysToRelease is not a concurrent data structure and there is no locking in adding and removing items. (https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java#L36) Is there any guarantee that adding and removing items for keysToRelease don't execute concurrently in different threads?

> Corruption in read-side of SOLR-HDFS stack
> ------------------------------------------
>
>                 Key: SOLR-10115
>                 URL: https://issues.apache.org/jira/browse/SOLR-10115
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 4.10
>            Reporter: Yonik Seeley
>         Attachments: YCS_HdfsTest.java
>
>
> I've been trying to track down some random AIOOB exceptions in Lucene for a customer, and I've managed to reproduce the issue with a unit test of sufficient size in conjunction with highly concurrent read requests.
> A typical stack trace looks like:
> {code}
> org.apache.solr.common.SolrException; java.lang.ArrayIndexOutOfBoundsException: 172033655
>         at org.apache.lucene.codecs.lucene40.BitVector.get(BitVector.java:149)
>         at org.apache.lucene.codecs.lucene41.Lucene41PostingsReader$BlockDocsEnum.nextDoc(Lucene41PostingsReader.java:455)
>         at org.apache.lucene.search.MultiTermQueryWrapperFilter.getDocIdSet(MultiTermQueryWrapperFilter.java:111)
>         at org.apache.lucene.search.ConstantScoreQuery$ConstantWeight.scorer(ConstantScoreQuery.java:157)
> {code}
> The number of unique stack traces is relatively high, most AIOOB exceptions, but some EOF.  Most exceptions occur in the term index, however I believe this may be just an artifact of where highly concurrent access is most likely to occur.  The queries that triggered this had many wildcards and other multi-term queries.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org