Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8C84510F02 for ; Mon, 28 Dec 2015 14:21:23 +0000 (UTC) Received: (qmail 83038 invoked by uid 500); 28 Dec 2015 14:21:23 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 82931 invoked by uid 500); 28 Dec 2015 14:21:23 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 82308 invoked by uid 99); 28 Dec 2015 14:21:23 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Dec 2015 14:21:22 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id ABDA9E08ED; Mon, 28 Dec 2015 14:21:22 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Mon, 28 Dec 2015 14:21:38 -0000 Message-Id: <3196a0496e6a46b5823daa13e20148de@git.apache.org> In-Reply-To: <4cf86be4ffbc4b189a3161ccfef73a34@git.apache.org> References: <4cf86be4ffbc4b189a3161ccfef73a34@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [17/50] [abbrv] ignite git commit: IGNITE-2225: Fixed unnecessary deserializations. IGNITE-2225: Fixed unnecessary deserializations. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2c8b259b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2c8b259b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2c8b259b Branch: refs/heads/ignite-961 Commit: 2c8b259b4e0149887ce03e29cd9b2b5f103d1b86 Parents: 73d8b90 Author: vozerov-gridgain Authored: Tue Dec 22 15:05:24 2015 +0300 Committer: vozerov-gridgain Committed: Tue Dec 22 15:05:24 2015 +0300 ---------------------------------------------------------------------- .../ignite/internal/binary/GridBinaryMarshaller.java | 10 ++++++++++ .../cache/binary/CacheObjectBinaryProcessorImpl.java | 3 +++ 2 files changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2c8b259b/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java index b21c679..71ca018 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java @@ -268,6 +268,16 @@ public class GridBinaryMarshaller { } /** + * Whether object must be deserialized anyway. I.e. it cannot be converted to BinaryObject. + * + * @param obj Object. + * @return {@code True} if object will be deserialized on unmarshal. + */ + public boolean mustDeserialize(Object obj) { + return obj != null && ctx.mustDeserialize(obj.getClass()); + } + + /** * Gets writer for the given output stream. * * @param out Output stream. http://git-wip-us.apache.org/repos/asf/ignite/blob/2c8b259b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java index 6aee7a9..b335179 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java @@ -435,6 +435,9 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm return new GridMapEntry<>(marshalToBinary(e.getKey()), marshalToBinary(e.getValue())); } + if (binaryMarsh.mustDeserialize(obj)) + return obj; // No need to go through marshal-unmarshal because result will be the same as initial object. + byte[] arr = binaryMarsh.marshal(obj); assert arr.length > 0;