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);
+                        }
                     }
                 }
             }

Reply via email to