Return-Path: X-Original-To: apmail-avro-dev-archive@www.apache.org Delivered-To: apmail-avro-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7DDA611937 for ; Tue, 24 Jun 2014 06:58:29 +0000 (UTC) Received: (qmail 21453 invoked by uid 500); 24 Jun 2014 06:58:29 -0000 Delivered-To: apmail-avro-dev-archive@avro.apache.org Received: (qmail 21383 invoked by uid 500); 24 Jun 2014 06:58:29 -0000 Mailing-List: contact dev-help@avro.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@avro.apache.org Delivered-To: mailing list dev@avro.apache.org Received: (qmail 21299 invoked by uid 99); 24 Jun 2014 06:58:29 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jun 2014 06:58:29 +0000 Date: Tue, 24 Jun 2014 06:58:29 +0000 (UTC) From: =?utf-8?Q?O=2E_Rei=C3=9Fig_=28JIRA=29?= To: dev@avro.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (AVRO-1532) Field deletion not possible for ReflectData: NPE MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 O. Rei=C3=9Fig created AVRO-1532: ------------------------------- Summary: Field deletion not possible for ReflectData: NPE Key: AVRO-1532 URL: https://issues.apache.org/jira/browse/AVRO-1532 Project: Avro Issue Type: Bug Components: java Affects Versions: 1.7.6 Reporter: O. Rei=C3=9Fig *Actual behaviour:* I have a field in my reflection-based schema like this: {code} @Nullable @AvroDefault('null') Long someField {code} When removing this field, parsing the previous serialized blob yields NullP= ointerException: {noformat} Caused by: java.lang.NullPointerException at org.apache.avro.reflect.ReflectData.setField(ReflectData.java:12= 8) at org.apache.avro.generic.GenericDatumReader.readField(GenericDatu= mReader.java:193) at org.apache.avro.reflect.ReflectDatumReader.readField(ReflectDatu= mReader.java:230) at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDat= umReader.java:183) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:151) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:155) at org.apache.avro.generic.GenericDatumReader.readMap(GenericDatumR= eader.java:256) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:154) at org.apache.avro.generic.GenericDatumReader.readField(GenericDatu= mReader.java:193) at org.apache.avro.reflect.ReflectDatumReader.readField(ReflectDatu= mReader.java:230) at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDat= umReader.java:183) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:151) at org.apache.avro.generic.GenericDatumReader.readMap(GenericDatumR= eader.java:256) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:154) at org.apache.avro.generic.GenericDatumReader.readField(GenericDatu= mReader.java:193) at org.apache.avro.reflect.ReflectDatumReader.readField(ReflectDatu= mReader.java:230) at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDat= umReader.java:183) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:151) at org.apache.avro.generic.GenericDatumReader.read(GenericDatumRead= er.java:142) at org.apache.avro.file.DataFileStream.next(DataFileStream.java:233= ) at org.apache.avro.file.DataFileStream.next(DataFileStream.java:220= ) {noformat} *Expected behaviour:* Field removal is crucial for schema evolution and must be possible with Ref= lectData. -- This message was sent by Atlassian JIRA (v6.2#6252)