[ 
https://issues.apache.org/jira/browse/CASSANDRA-12944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15936515#comment-15936515
 ] 

Stefan Podkowinski commented on CASSANDRA-12944:
------------------------------------------------

My first version of the unit testing side of this tickets is now mostly 
completed. I've added 
[HintsServiceEventsExampleTest.java|https://github.com/spodkowinski/cassandra/blob/WIP-12944/test/unit/org/apache/cassandra/examples/HintsServiceEventsExampleTest.java]
 to illustrate how events can be collected during a test and afterwards 
inspected if they match what you'd expect to happen.

In short diagnostic events will improve unit testing by a) providing test flow 
control instances between events in form of CompletableFutures (see 
[PendingRangeCalculatorServiceTest.java|https://github.com/spodkowinski/cassandra/blob/WIP-12944/test/unit/org/apache/cassandra/gms/PendingRangeCalculatorServiceTest.java])
 and b) validate state and behavior by allowing you to inspect generated events 
(see mentioned 
[HintsServiceEventsExampleTest.java|https://github.com/spodkowinski/cassandra/blob/WIP-12944/test/unit/org/apache/cassandra/examples/HintsServiceEventsExampleTest.java]).
 Minor API changes will likely still happen, but that will be mostly it, if you 
don't have any more feedback.

At some point I'm also going to break up this ticket into easier to review 
subtasks for
* core classes (pub/sub, base event classes, number of event implementations)
* unit testing classes (including examples and docs)
* native transport integration (maybe with CLI prototype that would dump events 
to console)



> Diagnostic Events
> -----------------
>
>                 Key: CASSANDRA-12944
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12944
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Observability
>            Reporter: Stefan Podkowinski
>
> I'd like to propose a new "diagnostic events" feature that would allow to 
> observe internal Cassandra events in unit tests and from external tools via 
> native transport. The motivation is to improve testing as well as operational 
> monitoring and troubleshooting beyond logs and metrics.
> Please find more details in the linked proposal and give it some thoughts :)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to