Bouncheck opened a new pull request, #2048:
URL: https://github.com/apache/cassandra-java-driver/pull/2048

   This change fixes random failures by removing `MicrometerMetricsIT`, 
`MicroProfileMetricsIT` and `DropwizardMetricsIT` from the 
`ParallelizableTests` category.
   It is not the only solution but seems to be the simplest workaround.
   
   The reasoning is as follows:
   `should_evict_down_node_metrics_when_timeout_fires()` has two places where 
it manipulates `AbstractMetricUpdater.MIN_EXPIRE_AFTER` in order to set 
`DefaultDriverOption.METRICS_NODE_EXPIRE_AFTER` to 1 second during session 
initialization. Otherwise `MIN_EXPIRE_AFTER` would not allow for that and 
warning log would be printed about using higher value than what user wanted to 
set.
   It lowers it before session initialization:
   
https://github.com/apache/cassandra-java-driver/blob/17ebe6092e2877d8c524e07489c4c3d005cfeea5/integration-tests/src/test/java/com/datastax/oss/driver/core/metrics/MetricsITBase.java#L157
 And sets it back to 5 mintues at the end of the test: 
https://github.com/apache/cassandra-java-driver/blob/17ebe6092e2877d8c524e07489c4c3d005cfeea5/integration-tests/src/test/java/com/datastax/oss/driver/core/metrics/MetricsITBase.java#L186
 The code comment in AbstractMetricUpdater also mentions that this variable is 
intentionally not made final for testing purposes. I believe this is what 
causes the intermittent failures. When those three tests that extend this class 
run in parallel it is possible that test B sets the minimum back to 5 minutes 
after the test A lowers it to 1 second but before test A initializes its 
session.
   Warnings with this pattern should be visible when the test fails on the CI:
   ```
   c.d.o.d.i.c.m.AbstractMetricUpdater - [s6] Value too low for 
advanced.metrics.node.expire-after: PT1S. Forcing to PT5M instead.
   ```
   I can confirm that this is what was happening when I was testing this 
locally, but I did not try to search for the logs on cassandra-java-driver's CI.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org
For additional commands, e-mail: pr-h...@cassandra.apache.org

Reply via email to