commit | 61f4e8f1438e2bdc3b3ef641f9a5298e6043e29a | [log] [tgz] |
---|---|---|
author | Alexey Goncharuk <alexey.goncharuk@gmail.com> | Thu Nov 02 16:45:45 2017 +0300 |
committer | Alexey Goncharuk <alexey.goncharuk@gmail.com> | Thu Nov 02 16:45:45 2017 +0300 |
tree | dca6b79c30726a80bfc1185060ae48dcbd5a738b | |
parent | f46672ea2898320cb83a749c1c67945a3b517fdd [diff] |
IGNITE-6778 Fixed assertion in checkpointer entry sort
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index 6914054..e07aef7 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -1975,6 +1975,9 @@ /** Shutdown now. */ private volatile boolean shutdownNow; + /** */ + private long lastCpTs; + /** * @param gridName Grid name. * @param name Thread name. @@ -2364,6 +2367,13 @@ long cpTs = System.currentTimeMillis(); + // This can happen in an unlikely event of two checkpoints happening + // within a currentTimeMillis() granularity window. + if (cpTs == lastCpTs) + cpTs++; + + lastCpTs = cpTs; + CheckpointEntry cpEntry = writeCheckpointEntry( tmpWriteBuf, cpTs,