AVRO-1895. Fix deepCopy() to get correct logical type conversion. (cherry picked from commit 9456db01859dd3619fb09a6d4205ab433b357b02)
Project: http://git-wip-us.apache.org/repos/asf/avro/repo Commit: http://git-wip-us.apache.org/repos/asf/avro/commit/62845754 Tree: http://git-wip-us.apache.org/repos/asf/avro/tree/62845754 Diff: http://git-wip-us.apache.org/repos/asf/avro/diff/62845754 Branch: refs/heads/branch-1.8 Commit: 628457545e441b888a597b9ea3a283445c738233 Parents: 39481e6 Author: Doug Cutting <[email protected]> Authored: Wed Aug 31 16:45:21 2016 -0700 Committer: Sean Busbey <[email protected]> Committed: Thu Sep 1 08:51:29 2016 -0500 ---------------------------------------------------------------------- .../avro/src/main/java/org/apache/avro/generic/GenericData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/avro/blob/62845754/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java ---------------------------------------------------------------------- diff --git a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java index 9f3cc4d..76eb625 100644 --- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java +++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java @@ -1030,7 +1030,7 @@ public class GenericData { LogicalType logicalType = schema.getLogicalType(); if (logicalType == null) // not a logical type -- use raw copy return (T)deepCopyRaw(schema, value); - Conversion conversion = getConversionByClass(value.getClass()); + Conversion conversion = getConversionByClass(value.getClass(), logicalType); if (conversion == null) // no conversion defined -- try raw copy return (T)deepCopyRaw(schema, value); // logical type with conversion: convert to raw, copy, then convert back to logical
