[ https://issues.apache.org/jira/browse/CASSANDRA-5483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14212771#comment-14212771 ]
Ben Chan commented on CASSANDRA-5483: ------------------------------------- Updated https://github.com/usrbincc/cassandra/tree/5483-review (currently at commit 85d974753dc7f). So a few changes to tracing got merged in on Nov 12, making a cut-and-dried manual rebase impossible. - Use a default ttl on the system_traces.* CFs. Use that to clean up the code in Tracing, since you no longer have to specify ttls. - Move a lot of row-insertion code out of Tracing into a new TraceKeyspace class. - Since there is no more need to specify ttl, use CFRowAdder (which doesn't do ttl) for convenience. Since the repair tracing patch requires a user-configurable ttl (or at the very least, a different ttl for repair tracing and query tracing), I needed to re-add ttl specification. Since it wasn't much more code, I decided to only use explicitly-expiring cells if the ttl didn't match the default ttl. This appears to save two native ints per column from a quick skim of the source code. Not sure if that's really enough to care about (especially since repair tracing, which is likely to insert more rows, has a ttl different from the default), but it was a simple enough change. ---- Merge conflicts are a real pain point with git. I attempted to make reviewing the merge conflict resolution changes easier by inserting an intermediate commit that includes the conflict markers from git, unmodified. Feel free to hide all the messiness with a {{git merge --squash}}. - Fixed a race condition with repair trace sessions sometimes not being properly stopped (see commit 801b6fbf56771). - Possible code no-no to note: I made two private fields (SESSIONS_TABLE and EVENTS_TABLE) in TraceKeyspace public. I only use EVENTS_TABLE, but made them both public for symmetry (good? bad? don't know). They're final fields, if that's any consolation. > Repair tracing > -------------- > > Key: CASSANDRA-5483 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5483 > Project: Cassandra > Issue Type: Improvement > Components: Tools > Reporter: Yuki Morishita > Assignee: Ben Chan > Priority: Minor > Labels: repair > Fix For: 3.0 > > Attachments: 5483-full-trunk.txt, > 5483-v06-04-Allow-tracing-ttl-to-be-configured.patch, > 5483-v06-05-Add-a-command-column-to-system_traces.events.patch, > 5483-v06-06-Fix-interruption-in-tracestate-propagation.patch, > 5483-v07-07-Better-constructor-parameters-for-DebuggableThreadPoolExecutor.patch, > 5483-v07-08-Fix-brace-style.patch, > 5483-v07-09-Add-trace-option-to-a-more-complete-set-of-repair-functions.patch, > 5483-v07-10-Correct-name-of-boolean-repairedAt-to-fullRepair.patch, > 5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch, > 5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch, > 5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch, > 5483-v08-14-Poll-system_traces.events.patch, > 5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch, > 5483-v09-16-Fix-hang-caused-by-incorrect-exit-code.patch, > 5483-v10-17-minor-bugfixes-and-changes.patch, > 5483-v10-rebased-and-squashed-471f5cc.patch, 5483-v11-01-squashed.patch, > 5483-v11-squashed-nits.patch, 5483-v12-02-cassandra-yaml-ttl-doc.patch, > 5483-v13-608fb03-May-14-trace-formatting-changes.patch, > 5483-v14-01-squashed.patch, > 5483-v15-02-Hook-up-exponential-backoff-functionality.patch, > 5483-v15-03-Exact-doubling-for-exponential-backoff.patch, > 5483-v15-04-Re-add-old-StorageService-JMX-signatures.patch, > 5483-v15-05-Move-command-column-to-system_traces.sessions.patch, > 5483-v15.patch, 5483-v17-00.patch, 5483-v17-01.patch, 5483-v17.patch, > ccm-repair-test, cqlsh-left-justify-text-columns.patch, > prerepair-vs-postbuggedrepair.diff, test-5483-system_traces-events.txt, > trunk@4620823-5483-v02-0001-Trace-filtering-and-tracestate-propagation.patch, > trunk@4620823-5483-v02-0002-Put-a-few-traces-parallel-to-the-repair-logging.patch, > tr...@8ebeee1-5483-v01-001-trace-filtering-and-tracestate-propagation.txt, > tr...@8ebeee1-5483-v01-002-simple-repair-tracing.txt, > v02p02-5483-v03-0003-Make-repair-tracing-controllable-via-nodetool.patch, > v02p02-5483-v04-0003-This-time-use-an-EnumSet-to-pass-boolean-repair-options.patch, > v02p02-5483-v05-0003-Use-long-instead-of-EnumSet-to-work-with-JMX.patch > > > I think it would be nice to log repair stats and results like query tracing > stores traces to system keyspace. With it, you don't have to lookup each log > file to see what was the status and how it performed the repair you invoked. > Instead, you can query the repair log with session ID to see the state and > stats of all nodes involved in that repair session. -- This message was sent by Atlassian JIRA (v6.3.4#6332)