[ https://issues.apache.org/jira/browse/CASSANDRA-5746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13705205#comment-13705205 ]
Jonathan Ellis commented on CASSANDRA-5746: ------------------------------------------- If we want it to be fast enough for monitoring use, we need to denormalize the count. So the question is, do we use a Counters table, a normal int table with manual lock-and-read-before-write, or just one-off it with AtomicInteger and sync to disk occasionally? Personally I'd be inclined towards the last; it's okay if under- or over-count (because of periodic CL sync for instance), as long as we reliably distinguish between zero and non-zero hints for a given target. We could sanity check that with an approach like listEndpointsPendingHints on startup, which would be fairly low-overhead. > HHOM.countPendingHints is a trap for the unwary > ----------------------------------------------- > > Key: CASSANDRA-5746 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5746 > Project: Cassandra > Issue Type: Bug > Components: Core, Tools > Reporter: Jonathan Ellis > Assignee: Tyler Hobbs > Fix For: 2.0.1 > > > countPendingHints can OOM the server fairly easily since it does a per-target > seq scan without paging. > More generally, countPendingHints is far too slow to be useful for routine > monitoring. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira