Interesting. I tried it but get:
Exception in thread "main" org.apache.avro.AvroTypeException: Found {
"type" : "record",
"name" : "Review",
"namespace" : "v2",
"fields" : [ {
"name" : "id",
"type" : "string"
}, {
"name" : "text",
"type" : "string"
}, {
"name" : "isRecommended",
"type" : "boolean"
} ],
"aliases" : [ "v1.Review" ]
}, expecting [ "null", {
"type" : "record",
"name" : "Review",
"namespace" : "v1",
"fields" : [ {
"name" : "id",
"type" : "string"
}, {
"name" : "text",
"type" : "string"
}, {
"name" : "isRecommended",
"type" : "boolean"
} ]
} ]
-----Original Message-----
From: Doug Cutting [mailto:[email protected]]
Sent: Wednesday, December 07, 2011 4:15 PM
To: [email protected]
Subject: Re: AvroTypeException thrown with version change on optional record
On 12/07/2011 01:41 PM, Francois Forster wrote:
> Actually, it happens even if I don't add isFeatured. Is there something
> incompatible due to the different namespace?
Changing the namespace is probably why this is failing.
If you need to change the namespace then you can use aliases:
@namespace("v2")
protocol Service {
@aliases(["v1.Result"])
record Result { ... }
...
}
This will make v2 be able to read v1.
Doug