Andrew Kyle Purtell created PHOENIX-7825:
--------------------------------------------
Summary: ConcurrentMutationsIT make MyClock.shouldAdvance volatile
Key: PHOENIX-7825
URL: https://issues.apache.org/jira/browse/PHOENIX-7825
Project: Phoenix
Issue Type: Sub-task
Components: test
Reporter: Andrew Kyle Purtell
Assignee: Andrew Kyle Purtell
Fix For: 5.4.0, 5.3.1
{{ConcurrentMutationsIT}} installs a custom {{{}EnvironmentEdge{}}}, and the
test thread calls {{setAdvance(false)}} to freeze time so two mutations share a
timestamp. However, {{MyClock.shouldAdvance}} is not {{{}volatile{}}}, so the
JMM does not require regionserver handler threads in the same JVM to observe
the freeze, and in practice they keep advancing time, causing mutations
expected to share a timestamp to diverge and producing non-deterministic
index-scrutiny results, with the shared {{ParallelStatsDisabled}} mini-cluster
amplifying the race.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)