This is an automated email from the ASF dual-hosted git repository. ptupitsyn pushed a commit to branch ignite-14067 in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 96b3d9a01aefa9f58e2d9b255a85f1caa53e2559 Author: Pavel Tupitsyn <[email protected]> AuthorDate: Thu Jan 28 12:39:43 2021 +0300 Add localCandidatesMax to reduce allocations --- .../ignite/internal/processors/cache/GridCacheMvcc.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java index ca4a66e..99cea01 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java @@ -1448,12 +1448,20 @@ public final class GridCacheMvcc { assert !col.isEmpty(); - List<GridCacheMvccCandidate> cands = new ArrayList<>(col.size()); + List<GridCacheMvccCandidate> cands = null; for (GridCacheMvccCandidate c : col) { // Don't include reentries. - if ((reentries || !c.reentry()) && c.version().isLess(maxVers)) + if ((reentries || !c.reentry()) && c.version().isLess(maxVers)) { + if (cands == null) + cands = new ArrayList<>(col.size()); + cands.add(c); + } + } + + if (cands == null) { + cands = Collections.emptyList(); } return cands;
