Check for WeakValue in GridH2AbstractKeyValueRow.onUnswap
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ca2bce00 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ca2bce00 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ca2bce00 Branch: refs/heads/ignite-1093-2 Commit: ca2bce00516142a1204fb9226c938174047e72d6 Parents: 72c3eef Author: sboikov <[email protected]> Authored: Tue Sep 22 15:04:27 2015 +0300 Committer: sboikov <[email protected]> Committed: Tue Sep 22 15:04:27 2015 +0300 ---------------------------------------------------------------------- .../processors/query/h2/opt/GridH2AbstractKeyValueRow.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/ca2bce00/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2AbstractKeyValueRow.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2AbstractKeyValueRow.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2AbstractKeyValueRow.java index c11f541..ca5442a 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2AbstractKeyValueRow.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2AbstractKeyValueRow.java @@ -119,7 +119,9 @@ public abstract class GridH2AbstractKeyValueRow extends GridH2Row { * @throws IgniteCheckedException If failed. */ public synchronized void onUnswap(Object val, boolean beforeRmv) throws IgniteCheckedException { - if (peekValue(VAL_COL) != null) + Value val0 = peekValue(VAL_COL); + + if (val0 != null && !(val0 instanceof WeakValue)) return; setValue(VAL_COL, desc.wrap(val, desc.valueType()));
