[
https://issues.apache.org/jira/browse/IGNITE-29084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Evgeny Stanilovsky updated IGNITE-29084:
----------------------------------------
Attachment: time_repro.patch
> Possible to obtain non updatable U.currentTimeMillis()
> -------------------------------------------------------
>
> Key: IGNITE-29084
> URL: https://issues.apache.org/jira/browse/IGNITE-29084
> Project: Ignite
> Issue Type: Improvement
> Components: general
> Reporter: Evgeny Stanilovsky
> Assignee: Reza Taroosheh
> Priority: Major
> Labels: ignite-2
> Fix For: 2.19
>
> Attachments: time_repro.patch
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Seems we can obtain situation when
> {code:java}
> U.currentTimeMillis()
> {code}
> become unupdatable:
> on test start call : Ignition.start(...
> on test\all test from class are finished NOT to call:
> {code:java}
> @AfterAll
> public static void tearDown() {
> IgnitionEx.stopAll(true, null);
> }
> {code}
> After this :
> org.apache.ignite.internal.util.CommonUtils#onGridStart
> we obtain false on static field comparison
> {code:java}
> if (gridCnt == 0)
> {code}
> so nodoby will initialize:
> {code:java}
> timer = new IgniteThread(igniteInstanceName, "ignite-clock",
> () -> {
> while (!IgniteThread.currentThread().isInterrupted()) {
> curTimeMillis = System.currentTimeMillis();
> {code}
> cause nobody will call :
> {code:java}
> org.apache.ignite.internal.util.CommonUtils#onGridStop
> {code}
> a bit different description can be found here :
> https://github.com/apache/ignite/pull/13602#discussion_r4132424359
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)