From commits-return-23803-archive-asf-public=cust-asf.ponee.io@pulsar.apache.org Tue Mar 5 07:35:46 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 3824F18067C for ; Tue, 5 Mar 2019 08:35:46 +0100 (CET) Received: (qmail 56406 invoked by uid 500); 5 Mar 2019 07:35:45 -0000 Mailing-List: contact commits-help@pulsar.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pulsar.apache.org Delivered-To: mailing list commits@pulsar.apache.org Received: (qmail 56370 invoked by uid 99); 5 Mar 2019 07:35:44 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Mar 2019 07:35:44 +0000 From: GitBox To: commits@pulsar.apache.org Subject: [GitHub] [pulsar] sijie commented on issue #3741: POJO AvroSchema always allowNull Message-ID: <155177134437.9969.17129228974939757836.gitbox@gitbox.apache.org> Date: Tue, 05 Mar 2019 07:35:44 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit sijie commented on issue #3741: POJO AvroSchema always allowNull URL: https://github.com/apache/pulsar/issues/3741#issuecomment-469572165 > yup though I am not sure setting AllowNull is producing an incompatible schema. Incompatible to what? @jerrypeng `ReflectData.AllowNull` and `ReflectData` are generating two different incompatible schemas. I have been explaining to you guys in previous comments: my broader concern is NOT about generated POJO, is about using a same POJO class across many different systems using AVRO as the standard serialization format where people are using `ReflectData` not `ReflectData.AllowNull` (the second case explained at https://github.com/apache/pulsar/issues/3741#issuecomment-469506795). > my implementation could just have easily set allow null. Thus, this doesn't seem like big deal and arbitrary. well it is a big deal when exchanging data between systems using same POJO. > Should we not preserve that semantic? If Pulsar uses AVRO on POJOs, I don't think it is the responsibility for Pulsar to preserve its own semantic. It should preserve what AVRO *preserves* for everyone because this is the rules of all other systems follow when using AVRO. That's the most important thing when AVRO is used as a standard data format across data systems. Currently Pulsar's AllowNull implementation violates it. > but I think the bigger problem here is the one with shading The shading bug is new to me. I agreed that we need to fix it. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org With regards, Apache Git Services