I've debugged a weird error I'm getting from Solr, which turned out to be coming from lucene.

For a particular search (it doesn't happen with other searches as far as I could see), during the facet calculation (DocValues facet), at this line:

https://github.com/apache/lucene/blob/f965e930673c1f5cb478dc6a8907f5fc4ef7b539/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java#L297

  private int nextSetBitInRange(int start, int upperBound) {
    // Depends on the ghost bits being clear!
assert start >= 0 && start < numBits : "index=" + start + ", numBits=" + numBits; assert start < upperBound : "index=" + start + ", upperBound=" + upperBound; assert upperBound <= numBits : "upperBound=" + upperBound + ", numBits=" + numBits;
    int i = start >> 6;
long word = bits[i] >> start; // skip all the bits to the right of index

"start" is 46536, "upperBound" is 46492 and "i" is 727:

long word = bits[i] >> start; // skip all the bits to the right of index

the above line throws an exception:

java.lang.ArrayIndexOutOfBoundsException: Index 727 out of bounds for length 727

I don't know if I can reproduce this error with a few documents and a simple search, because it is pretty elusive. For example, if I just reindex, the exception goes away.

When I use another facet calculation algorihtm in Solr (e.g. "enum"), the error goes away. It's only when docvalues is used.

Could you point me in a direction to maybe better reproduce it with a specific set of documents, or debug it better?

--Ufuk

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to