Patrick Farry created AVRO-2499:
-----------------------------------
Summary: C# reflect does not cache classes referenced in a union
Key: AVRO-2499
URL: https://issues.apache.org/jira/browse/AVRO-2499
Project: Apache Avro
Issue Type: Bug
Components: csharp
Reporter: Patrick Farry
In the example below an attempt to serialize an object of type A fails.
{ "name" : "A",
"type" " : "record",
"fields" : [
{ "name" : "OptionalProperty",
"type" : [ "null",
{ "name" : "B",
"type" : "record",
"fields" : [ "name" : "C", "type" : "string" ]
}
]
}
}
C# classes
public class A {
public B OptionalProperty \{ get; set;}
}
public class B {
public string C \{ get; set;}
}
Problem is in Reflect/ClassCache.cs line 259.
Need to add the following case
case UnionSchema us:
foreach (var o in us.Schemas)
{
if (o.Tag!=Avro.Schema.Type.Null)
{
LoadClassCache(objType, o);
}
}
Will do a PR
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)