[
https://issues.apache.org/jira/browse/CASSANDRA-13106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15804246#comment-15804246
]
Benedict commented on CASSANDRA-13106:
--------------------------------------
Hi Simon,
The predicate passed in is not always true - I suggest running "find usages" in
your IDE before submitting a patch
That's not to say this assertion is still always necessary, but this area of
code used to be very thorny, so it is assert heavy - after my major refactor I
don't know of any serious misuses of the code, but that's not to say it isn't
still possible to misuse it. It most certainly is, and these asserts protect
from really serious misbehaviour of the system if that were to happen in
future. It is also vanishingly unlikely this assert consumes significant CPU.
However, while it may seem a single line patch is a shoe-in, I don't really
have the time to engage in the philosophical debate that might necessarily
ensue from this consideration.
For the record, etiquette on the project does not generally permit you to
unilaterally assign somebody a role on a ticket. Typically you should either
contact them directly, or at least JIRA mention them in a request that they
assign themselves a role (or, of course, if you employ them feel free to do
what you like). I don't actively participate in the project at present
(although I do occasionally lurk), so it is a little jarring to suddenly be
spammed by a half-dozen JIRA emails late at night.
> Unnecessary assertion
> ---------------------
>
> Key: CASSANDRA-13106
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13106
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Simon Zhou
> Assignee: Simon Zhou
> Priority: Minor
> Attachments: CASSANDRA-13106.patch
>
>
> We had over 70 thousand sstables and it's slow to bootstrap new node, even
> though the CPU utilization for main thread of Cassandra was nearly 100%. So
> we took a few stack traces and found that the main thread were busy running
> this line in Tracker.java:
> {code}
> assert Iterables.all(removed, remove);
> {code}
> Not exactly sure whether this line causes CPU utilization/bootstrapping
> issue, but this line is redundant because the Predict we pass in is
> Predicates.<SSTableReader>alwaysTrue(), which means the assertion always
> returns true. So I propose to remove that line.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)