Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C5B4F200C30 for ; Tue, 21 Feb 2017 07:14:22 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id C44F0160B76; Tue, 21 Feb 2017 06:14:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 17FF7160B73 for ; Tue, 21 Feb 2017 07:14:21 +0100 (CET) Received: (qmail 34997 invoked by uid 500); 21 Feb 2017 06:14:20 -0000 Mailing-List: contact issues-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list issues@flink.apache.org Received: (qmail 34988 invoked by uid 99); 21 Feb 2017 06:14:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Feb 2017 06:14:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 68AD8C11DC for ; Tue, 21 Feb 2017 06:14:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.021 X-Spam-Level: X-Spam-Status: No, score=-4.021 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id pLPX6EMrXEPs for ; Tue, 21 Feb 2017 06:14:19 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 1482C5F1B8 for ; Tue, 21 Feb 2017 06:14:18 +0000 (UTC) Received: (qmail 34984 invoked by uid 99); 21 Feb 2017 06:14:18 -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; Tue, 21 Feb 2017 06:14:18 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3E311DFADC; Tue, 21 Feb 2017 06:14:18 +0000 (UTC) From: shixiaogang To: issues@flink.incubator.apache.org Reply-To: issues@flink.incubator.apache.org References: In-Reply-To: Subject: [GitHub] flink pull request #3336: [FLINK-4856][state] Add MapState in KeyedState Content-Type: text/plain Message-Id: <20170221061418.3E311DFADC@git1-us-west.apache.org> Date: Tue, 21 Feb 2017 06:14:18 +0000 (UTC) archived-at: Tue, 21 Feb 2017 06:14:23 -0000 Github user shixiaogang commented on a diff in the pull request: https://github.com/apache/flink/pull/3336#discussion_r102138099 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/query/netty/message/KvStateRequestSerializer.java --- @@ -484,6 +487,71 @@ public static Throwable deserializeServerFailure(ByteBuf buf) throws IOException return null; } } + + /** + * Serializes all values of the Iterable with the given serializer. + * + * @param entries Key-value pairs to serialize + * @param keySerializer Serializer for UK + * @param valueSerializer Serializer for UV + * @param Type of the keys + * @param Type of the values + * @return Serialized values or null if values null or empty + * @throws IOException On failure during serialization + */ + public static byte[] serializeMap(Iterable> entries, TypeSerializer keySerializer, TypeSerializer valueSerializer) throws IOException { + if (entries != null) { + Iterator> it = entries.iterator(); + + if (it.hasNext()) { + // Serialize + DataOutputSerializer dos = new DataOutputSerializer(32); + + while (it.hasNext()) { + Map.Entry entry = it.next(); + + keySerializer.serialize(entry.getKey(), dos); + valueSerializer.serialize(entry.getValue(), dos); + } + + return dos.getCopyOfBuffer(); + } else { + return null; --- End diff -- The function is unused now. I will delete it in the update. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---