[ https://issues.apache.org/jira/browse/CASSANDRA-15526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17032579#comment-17032579 ]
Jordan West commented on CASSANDRA-15526: ----------------------------------------- [~e.dimitrova] any input here is appreciated. I hadn't assigned it to myself since I wasn't able to look at it immediately (likely early next week I can) but I have been thinking about it on and off. The challenge, at first glance, is that {{ConcurrentSkipListSet#size()}} doesn't seem to be reliable (and the javadoc hints that this is sort of the case -- although I can't explain what I am seeing in that assert above just yet). The problem is we rely on the count (which is what we use {{size()}} for) for one important thing in RangeIntersectionIterator, the heuristic to determine if we use bounce or lookup. > Fix flakey test - org.apache.cassandra.index.sasi.SASIIndexTest > testConcurrentMemtableReadsAndWrites > ---------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-15526 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15526 > Project: Cassandra > Issue Type: Bug > Components: Test/unit > Reporter: David Capwell > Priority: Normal > Fix For: 4.0-alpha > > > {code} > junit.framework.AssertionFailedError > at > org.apache.cassandra.index.sasi.utils.RangeIterator.<init>(RangeIterator.java:46) > at > org.apache.cassandra.index.sasi.memory.KeyRangeIterator.<init>(KeyRangeIterator.java:42) > at > org.apache.cassandra.index.sasi.memory.TrieMemIndex$ConcurrentTrie.search(TrieMemIndex.java:150) > at > org.apache.cassandra.index.sasi.memory.TrieMemIndex.search(TrieMemIndex.java:102) > at > org.apache.cassandra.index.sasi.memory.IndexMemtable.search(IndexMemtable.java:70) > at > org.apache.cassandra.index.sasi.conf.ColumnIndex.searchMemtable(ColumnIndex.java:138) > at org.apache.cassandra.index.sasi.TermIterator.build(TermIterator.java:91) > at > org.apache.cassandra.index.sasi.plan.QueryController.getIndexes(QueryController.java:145) > at > org.apache.cassandra.index.sasi.plan.Operation$Builder.complete(Operation.java:434) > at org.apache.cassandra.index.sasi.plan.QueryPlan.analyze(QueryPlan.java:57) > at org.apache.cassandra.index.sasi.plan.QueryPlan.execute(QueryPlan.java:68) > at > org.apache.cassandra.index.sasi.SASIIndex.lambda$searcherFor$2(SASIIndex.java:301) > at org.apache.cassandra.db.ReadCommand.executeLocally(ReadCommand.java:455) > at > org.apache.cassandra.index.sasi.SASIIndexTest.getIndexed(SASIIndexTest.java:2576) > at > org.apache.cassandra.index.sasi.SASIIndexTest.getPaged(SASIIndexTest.java:2537) > at > org.apache.cassandra.index.sasi.SASIIndexTest.testConcurrentMemtableReadsAndWrites(SASIIndexTest.java:1108) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org