This is an automated email from the ASF dual-hosted git repository.
sboikov pushed a commit to branch ignite-invokeAll-backup
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit f37831b307cfc890bb5dc374c0023ccac7be76af
Author: sboikov
AuthorDate: Sun Feb 24 14:09:23 2019 +0300
invokeAll
---
.../processors/cache/GridCacheMapEntry.java| 11 +-
.../cache/IgniteCacheOffheapManager.java | 7 +-
.../cache/IgniteCacheOffheapManagerImpl.java | 27 +-
.../distributed/dht/atomic/GridDhtAtomicCache.java | 762 ++---
.../cache/persistence/GridCacheOffheapManager.java | 9 +-
.../cache/persistence/tree/BPlusTree.java | 6 +-
.../processors/cache/tree/SearchRowEx.java | 45 ++
7 files changed, 599 insertions(+), 268 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 23b14b6..acd4349 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -2239,7 +2239,7 @@ public abstract class GridCacheMapEntry extends
GridMetadataAwareAdapter impleme
) throws IgniteCheckedException, GridCacheEntryRemovedException,
GridClosureException {
assert cctx.atomic() && !detached();
-if (!primary && !isNear())
+if (!primary && !isNear() && c == null)
ensureFreeSpace();
if (!primary) {
@@ -5903,7 +5903,7 @@ public abstract class GridCacheMapEntry extends
GridMetadataAwareAdapter impleme
private boolean wasIntercepted;
/** */
-AtomicCacheUpdateClosure(
+public AtomicCacheUpdateClosure(
GridCacheMapEntry entry,
AffinityTopologyVersion topVer,
GridCacheVersion newVer,
@@ -5960,6 +5960,13 @@ public abstract class GridCacheMapEntry extends
GridMetadataAwareAdapter impleme
}
}
+/**
+ * @return Update result.
+ */
+public GridCacheUpdateAtomicResult updateResult() {
+return updateRes;
+}
+
/** {@inheritDoc} */
@Nullable @Override public CacheDataRow oldRow() {
return oldRow;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
index 870d99f..9455c2a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
@@ -21,6 +21,7 @@ import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
+import java.util.function.Function;
import javax.cache.Cache;
import javax.cache.processor.EntryProcessor;
import org.apache.ignite.IgniteCheckedException;
@@ -200,7 +201,7 @@ public interface IgniteCacheOffheapManager {
public void invokeAll(GridCacheContext cctx,
GridDhtLocalPartition part,
Collection rows,
-Map map)
+Function closures)
throws IgniteCheckedException;
/**
@@ -899,7 +900,7 @@ public interface IgniteCacheOffheapManager {
* @return Cache search row.
* @throws IgniteCheckedException If failed.
*/
-public CacheSearchRow createSearchRow(GridCacheContext cctx,
KeyCacheObject key) throws IgniteCheckedException;
+public CacheSearchRow createSearchRow(GridCacheContext cctx,
KeyCacheObject key, Object data) throws IgniteCheckedException;
/**
* @return Rows comparator.
@@ -915,7 +916,7 @@ public interface IgniteCacheOffheapManager {
*/
public void invokeAll(GridCacheContext cctx,
Collection rows,
-Map map)
+Function closures)
throws IgniteCheckedException;
/**
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 3ae5b81..0a621dc 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Function;
import javax.cache.Cache;
import