Repository: ignite Updated Branches: refs/heads/ignite-2.5 5c295b9e1 -> a32e529f4
IGNITE-8453 FileDecompressor may access HashMap without proper synchronization Signed-off-by: Andrey Gura <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a32e529f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a32e529f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a32e529f Branch: refs/heads/ignite-2.5 Commit: a32e529f433b421d3f914c3f38f7570e25228162 Parents: 5c295b9 Author: Ivan Rakov <[email protected]> Authored: Tue May 8 19:23:42 2018 +0300 Committer: Andrey Gura <[email protected]> Committed: Tue May 8 19:54:47 2018 +0300 ---------------------------------------------------------------------- .../cache/persistence/wal/FileWriteAheadLogManager.java | 4 +++- .../cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a32e529f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index 6ac102f..8755e1b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -2111,7 +2111,9 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl IgniteCheckedException e = new IgniteCheckedException("Error during WAL segment " + "decompression [segmentIdx=" + segmentToDecompress + "]", t); - decompressionFutures.remove(segmentToDecompress).onDone(e); + synchronized (this) { + decompressionFutures.remove(segmentToDecompress).onDone(e); + } } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/a32e529f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java index cf643fd..c446f7f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java @@ -1919,7 +1919,9 @@ public class FsyncModeFileWriteAheadLogManager extends GridCacheSharedManagerAda IgniteCheckedException e = new IgniteCheckedException("Error during WAL segment " + "decompression [segmentIdx=" + segmentToDecompress + ']', t); - decompressionFutures.remove(segmentToDecompress).onDone(e); + synchronized (this) { + decompressionFutures.remove(segmentToDecompress).onDone(e); + } } } }
