[ https://issues.apache.org/jira/browse/CASSANDRA-15977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17282552#comment-17282552 ]
Andres de la Peña commented on CASSANDRA-15977: ----------------------------------------------- [~skandyla] thanks for the feedback. I see that the provided typical request explicitly selects the {{ids}} column, which is a not-frozen collection. Not-frozen collection columns are columns with multiple cells. The {{ColumnFilter}} uses the method {{fetchedColumnIsQueried}} for single-cell columns and {{fetchedCellIsQueried}} for each cell in a multi-cell column. The bug fixed by this ticket makes {{fetchedCellIsQueried}} to first verify that the containing column of the cell is also fetched, doing an extra call to {{fetchedColumnIsQueried}} for every collection item. This might be what is causing the performance regression. Note that, if I'm right, those extra calls only happen if there's an explicit selection of a multi-cell column (not a {{*}} selection), and there are conflicts among the queried replicas. What's the average number of items of {{ids}}? Is it possible that the replicas are very out-of-sync? For the sake of correctness in (at least) read repair we need that additional call to {{fetchedColumnIsQueried}} to verify that the column of a cell is also fetched. Otherwise, we'd be sending repairs for columns that are not selected. What we could do to make this more efficiently is trying to make the call to {{fetchedColumnIsQueried}} just once when we start reading the first cell of a collection, and reuse that result for every following cell of the same collection. I'll open a separate ticket for that after a bit more investigation. Also, forgive me for asking but, are you sure that this is the specific commit causing the problem? Any help with reproduction steps is more that welcome. cc [~maedhroz] > 4.0 Quality: Read Repair Test Audit > ----------------------------------- > > Key: CASSANDRA-15977 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15977 > Project: Cassandra > Issue Type: Task > Components: Test/dtest/java, Test/unit > Reporter: Andres de la Peña > Assignee: Andres de la Peña > Priority: Normal > Fix For: 3.11.9, 4.0, 4.0-beta3 > > Attachments: Screenshot 2021-02-05 at 18.01.10.png > > Time Spent: 13h 50m > Remaining Estimate: 0h > > This is a subtask of CASSANDRA-15579 focusing on read repair. > [This > document|https://docs.google.com/document/d/1-gldHcdLSMRbDhhI8ahs_tPeAZsjurjXr38xABVjWHE/edit?usp=sharing] > lists and describes the existing functional tests for read repair, so we can > have a broad view of what is currently covered. We can comment on this > document and add ideas for new cases/tests, so it can gradually evolve to a > more or less detailed test plan. -- 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