From 45226c379db146fd79e77982f90a4fa38b8dc288 Mon Sep 17 00:00:00 2001 From: mstepachev Date: Wed, 20 Feb 2019 15:25:56 +0300 Subject: [PATCH] IGNITE-11352 Fixed deserialization of CacheMetricsSnapshot - Fixes #6133. Signed-off-by: Alexey Goncharuk --- .../processors/cache/CacheMetricsSnapshot.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsSnapshot.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsSnapshot.java index af33b4ed4e472..22df3fe5b99f0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsSnapshot.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsSnapshot.java @@ -1150,11 +1150,13 @@ public CacheMetricsSnapshot(CacheMetrics loc, Collection metrics) rebalancingBytesRate = in.readLong(); rebalancingKeysRate = in.readLong(); - rebalancedKeys = in.readLong(); - estimatedRebalancingKeys = in.readLong(); - rebalanceStartTime = in.readLong(); - rebalanceFinishTime = in.readLong(); - rebalanceClearingPartitionsLeft = in.readLong(); + if (in.available() >= 40) { + rebalancedKeys = in.readLong(); + estimatedRebalancingKeys = in.readLong(); + rebalanceStartTime = in.readLong(); + rebalanceFinishTime = in.readLong(); + rebalanceClearingPartitionsLeft = in.readLong(); + } // 11 long and 5 float values give 108 bytes in total. if (in.available() >= 108) {