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 9CD51200C78 for ; Thu, 18 May 2017 16:39:54 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 9B477160BB0; Thu, 18 May 2017 14:39:54 +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 E184B160BA7 for ; Thu, 18 May 2017 16:39:53 +0200 (CEST) Received: (qmail 64643 invoked by uid 500); 18 May 2017 14:39:53 -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 64633 invoked by uid 99); 18 May 2017 14:39:53 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 May 2017 14:39:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id B06A3C061B for ; Thu, 18 May 2017 14:39:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-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 (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id bNhs4ZBo2wmG for ; Thu, 18 May 2017 14:39:51 +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 1A7C65F476 for ; Thu, 18 May 2017 14:39:50 +0000 (UTC) Received: (qmail 64606 invoked by uid 99); 18 May 2017 14:39:50 -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; Thu, 18 May 2017 14:39:50 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 2B47EDFCBE; Thu, 18 May 2017 14:39:50 +0000 (UTC) From: tillrohrmann To: issues@flink.incubator.apache.org Reply-To: issues@flink.incubator.apache.org References: In-Reply-To: Subject: [GitHub] flink pull request #3925: [FLINK-6600] Add key serializer config snapshot to... Content-Type: text/plain Message-Id: <20170518143950.2B47EDFCBE@git1-us-west.apache.org> Date: Thu, 18 May 2017 14:39:50 +0000 (UTC) archived-at: Thu, 18 May 2017 14:39:54 -0000 Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/3925#discussion_r117266306 --- Diff: flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBKeyedStateBackend.java --- @@ -1116,13 +1116,27 @@ private void restoreKeyGroupsInStateHandle() * @throws ClassNotFoundException * @throws RocksDBException */ + @SuppressWarnings("unchecked") private void restoreKVStateMetaData() throws IOException, ClassNotFoundException, RocksDBException { KeyedBackendSerializationProxy serializationProxy = new KeyedBackendSerializationProxy(rocksDBKeyedStateBackend.userCodeClassLoader); serializationProxy.read(currentStateHandleInView); + // check for key serializer compatibility; this also reconfigures the + // key serializer to be compatible, if it is required and is possible + if (StateMigrationUtil.resolveCompatibilityResult( + serializationProxy.getKeySerializer(), + TypeSerializerSerializationProxy.ClassNotFoundDummyTypeSerializer.class, + serializationProxy.getKeySerializerConfigSnapshot(), + (TypeSerializer) rocksDBKeyedStateBackend.keySerializer) + .isRequiresMigration()) { --- End diff -- Maybe as an idea for the future: If I'm not mistaken, then is the KeySerializerConfigSnapshot constant across all `KeyedStateHandles`. Thus, having something like a broadcast state for state backend meta data would be cool. Then we don't have to store redundant information. --- 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. ---