Return-Path: X-Original-To: apmail-beam-commits-archive@minotaur.apache.org Delivered-To: apmail-beam-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 A51F918CAD for ; Mon, 4 Apr 2016 22:16:29 +0000 (UTC) Received: (qmail 60317 invoked by uid 500); 4 Apr 2016 22:16:29 -0000 Delivered-To: apmail-beam-commits-archive@beam.apache.org Received: (qmail 60278 invoked by uid 500); 4 Apr 2016 22:16:29 -0000 Mailing-List: contact commits-help@beam.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@beam.incubator.apache.org Delivered-To: mailing list commits@beam.incubator.apache.org Received: (qmail 60269 invoked by uid 99); 4 Apr 2016 22:16:29 -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; Mon, 04 Apr 2016 22:16:29 +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 23095C0D25 for ; Mon, 4 Apr 2016 22:16:29 +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-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id YxpPAOZ55Jih for ; Mon, 4 Apr 2016 22:16:28 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 1F9225F477 for ; Mon, 4 Apr 2016 22:16:28 +0000 (UTC) Received: (qmail 57855 invoked by uid 99); 4 Apr 2016 22:16:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2016 22:16:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 713C92C1F5A for ; Mon, 4 Apr 2016 22:16:25 +0000 (UTC) Date: Mon, 4 Apr 2016 22:16:25 +0000 (UTC) From: "Kenneth Knowles (JIRA)" To: commits@beam.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (BEAM-169) Need serialized form and serialVersionUID for user-facing superclasses MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Kenneth Knowles created BEAM-169: ------------------------------------ Summary: Need serialized form and serialVersionUID for user-facing superclasses Key: BEAM-169 URL: https://issues.apache.org/jira/browse/BEAM-169 Project: Beam Issue Type: Bug Components: sdk-java-core Reporter: Kenneth Knowles When a class does not have an explicit {{serialVersionUID}}, it should be considered an unstable value based on the exact version of the code. This is fine for transmission most of the time, but never acceptable for persistence where backwards compatibility matters. There are two use cases that require explicit serialized form and {{serialVersionUID}} even just for transmission. They are required for user-facing superclasses such as DoFn, WindowFn, etc, to support the following: # Encoding a pipeline with a JDK and decoding with a JDK that computes defaults differently. # Encoding a pipeline against a version of the Beam SDK and decoding with a different version. The first situation should be rare since there is a deterministic spec, but we have unfortunately seen it. The second situation is very reasonable; a runner might want to run with additional security fixes in the SDK, etc. Given a correct semantic version for the SDK, the pipeline author and runner author may reasonably expect it to work. So we should add explicit serialization to superclasses that are necessarily encoded as part of a user's pipeline. -- This message was sent by Atlassian JIRA (v6.3.4#6332)