Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.8.1
-
None
-
java, javascript, js
-
None
-
node.js
Description
protocol eg:
{
"protocol": "Test",
"namespace": "test.avro",
"types": [
{
"type": "record",
"name": "AAA",
"fields": [
]
},
{
"type": "record",
"name": "BBB",
"fields": [
,
{ "name": "a", "type": "AAA" } ]
},
{
"type": "record",
"name": "CCC",
"fields": [
,
{ "name": "t", "type": "int" } ]
},
{
"type": "record",
"name": "DDD",
"fields": [
,
{ "name": "d", "type": [ "null", "BBB", "CCC" ] } ]
}
],
"messages": {}
}
in java use cmd:java -jar D:\workspace-mars2\Avro\lib\avro-tools-1.8.1.jar compile protocol D:\new\Test.avpr D:\new is ok.
but in node.js code:
var avro = require("D:\\Soft\\nodejs\\node_modules
avsc");
var protocol = avro.parse("./Test.avpr");
Prompt error message as below:
D:\Soft\nodejs\node_modules\avsc\lib\types.js:918
throw new Error(f('ambiguous unwrapped union: %j', this));
Error: ambiguous unwrapped union:["null",{"name":"test.avro.BBB","type":"record","fields":[
,{"name":"a","type":{"name":"test.avro.AAA","type":"record","fields":[
{"name":"a","type":"string","order":"ascending","aliases":[]}],"aliases":[]},"order":"ascending","aliases":[]}],"aliases":[]},{"name":"test.avro.CCC","type":"record","fields":[
{"name":"c","type":"string","order":"ascending","aliases":[]},
{"name":"t","type":"int","order":"ascending","aliases":[]}],"aliases":[]}]
it is bug?