[ https://issues.apache.org/jira/browse/AVRO-2521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Teodor Kostov resolved AVRO-2521. --------------------------------- Fix Version/s: 1.9.0 Resolution: Invalid The LogicalTypeFactory was not registered. > When parsing a schema the logical type is not properly set for the result > instance > ---------------------------------------------------------------------------------- > > Key: AVRO-2521 > URL: https://issues.apache.org/jira/browse/AVRO-2521 > Project: Apache Avro > Issue Type: Bug > Components: java > Affects Versions: 1.9.0 > Reporter: Teodor Kostov > Priority: Minor > Fix For: 1.9.0 > > > When the following schema is parsed: > {code:java} > Schema schema = new Schema.Parser().parse("{ \"name\": \"test\", \"type\": > \"record\", \"fields\": [{ \"name\": \"time\", \"type\": { \"type\": > \"long\", \"logicalType\": \"MY_TIMESTAMP\" }}]}"); > {code} > the `logicalType` is not properly initialized for the schema object of the > `time` field. This means that: > {code:java} > Schema timeSchema = schema.getField("time").schema(); > assert(null == timeSchema.getLogicalType()); > assert(null != timeSchema.getObjectProp(LogicalType.LOGICAL_TYPE_PROP)) > {code} > The private schema value representing the logical type is still `null`. > However, the property map is properly filled with a `LOGICAL_TYPE_PROP`. > Such a schema is unusable because the client of the library cannot fix the > logical type afterwards. > {code:java} > myLogicalType.addToSchema(timeSchema); // BOOM > {code} -- This message was sent by Atlassian Jira (v8.3.2#803003)