[ https://issues.apache.org/jira/browse/CASSANDRA-12453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15789506#comment-15789506 ]
Robert Stupp commented on CASSANDRA-12453: ------------------------------------------ Yes, that's related to the number of segments. I think the easiest way to make the test consistent is to force OHC to use 16 segments. Adding the line {code} System.setProperty("org.caffinitas.ohc.segmentCount", "16"); {code} as the first statement in {{RowCacheTest.defineSchema()}} seems to solve the issue. Replacing 16 with 64 makes the utest fail. I think that makes the utest consistent. WDYT about this approach? > AutoSavingCache does not store required keys making RowCacheTests Flaky > ----------------------------------------------------------------------- > > Key: CASSANDRA-12453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12453 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: sankalp kohli > Assignee: Jay Zhuang > Priority: Minor > Fix For: 2.2.x, 3.0.x > > Attachments: 12453-2.2.txt > > > RowCacheTests were flaky and while investigating, I found that it does not > store all the keys to disk. > The reason is that we use OHCache and call hotKeyIterator on it. This is not > guaranteed to return the number of keys we want. Here is the documentation > from OHCache > /** > * Builds an iterator over the N most recently used keys returning > deserialized objects. > * You must call {@code close()} on the returned iterator. > * <p> > * Note: During a rehash, the implementation might return keys twice > or not at all. > * </p> > */ > CloseableIterator<K> hotKeyIterator(int n); -- This message was sent by Atlassian JIRA (v6.3.4#6332)