[
https://issues.apache.org/jira/browse/IGNITE-23049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-23049:
-------------------------------------
Description:
h3. Motivation
Originally HybridClockImpl used
{code:java}
systemUTC().instant().toEpochMilli(){code}
within Reduce latency for txn preparing phase it was substituted with
{code:java}
FastTimestamps.coarseCurrentTimeMillis(){code}
that likely led to decreased test stability:
#
[ClockWaiterTest.futureCompletesWithoutClockUpdatesfailure|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8409117?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&expandBuildTestsSection=true]
#
[IndexMetaStorageRecoveryTest.testMissingDropTable|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8411374?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandCode+Inspection=true&expandBuildChangesSection=true&expandBuildDeploymentsSection=false&expandBuildProblemsSection=true&expandBuildTestsSection=true]
#
[ItIgniteDistributionZoneManagerNodeRestartTest.testScaleDownTimerIsRestoredAfterRestart(defaultZone=true)|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8414582?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
Thus, it seems reasonable to benchmark following basis for HybridClock in order
to choose the fastest and most reliable
* systemUTC().instant().toEpochMilli()
* System.currentTimeMillis()
* FastTimestamps.coarseCurrentTimeMillis()
h3. Defition of Done
* Write benchmarks and compare results.
> Benchmark HybridClock
> ---------------------
>
> Key: IGNITE-23049
> URL: https://issues.apache.org/jira/browse/IGNITE-23049
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> Originally HybridClockImpl used
> {code:java}
> systemUTC().instant().toEpochMilli(){code}
> within Reduce latency for txn preparing phase it was substituted with
> {code:java}
> FastTimestamps.coarseCurrentTimeMillis(){code}
> that likely led to decreased test stability:
> #
> [ClockWaiterTest.futureCompletesWithoutClockUpdatesfailure|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8409117?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&expandBuildTestsSection=true]
> #
> [IndexMetaStorageRecoveryTest.testMissingDropTable|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8411374?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandCode+Inspection=true&expandBuildChangesSection=true&expandBuildDeploymentsSection=false&expandBuildProblemsSection=true&expandBuildTestsSection=true]
> #
> [ItIgniteDistributionZoneManagerNodeRestartTest.testScaleDownTimerIsRestoredAfterRestart(defaultZone=true)|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8414582?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
> Thus, it seems reasonable to benchmark following basis for HybridClock in
> order to choose the fastest and most reliable
> * systemUTC().instant().toEpochMilli()
> * System.currentTimeMillis()
> * FastTimestamps.coarseCurrentTimeMillis()
> h3. Defition of Done
> * Write benchmarks and compare results.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
