[
https://issues.apache.org/jira/browse/AVRO-2226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16637734#comment-16637734
]
ASF GitHub Bot commented on AVRO-2226:
--------------------------------------
kojiromike commented on issue #331: [AVRO-2226] Fixes UnionSchema specificity
URL: https://github.com/apache/avro/pull/331#issuecomment-426865455
This looks good to me. I ran the test without the code change and it failed
as it should:
```
======================================================================
FAIL: testUnionSchemaSpecificity (avro.tests.test_io.TestIO)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/michaels/avro/lang/py3/avro/tests/test_io.py", line 371, in
testUnionSchemaSpecificity
self.assertEqual(datum_to_read, datum_read)
AssertionError: {'entity': {'foo': 'this is an instance of schema A'}} !=
{'entity': {'bar': None}}
- {'entity': {'foo': 'this is an instance of schema A'}}
+ {'entity': {'bar': None}}
```
then I added the code change back and verified the tests all pass.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> UnionSchema deduction is too permissive
> ---------------------------------------
>
> Key: AVRO-2226
> URL: https://issues.apache.org/jira/browse/AVRO-2226
> Project: Avro
> Issue Type: Bug
> Components: python
> Affects Versions: 1.8.2
> Reporter: Andrew Kelleher
> Priority: Major
> Attachments: AVRO-2226.patch
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> When given a schema of the form
> {code:java}
> {
> "type" : "record",
> "name" : "A",
> "namespace" : "com.example",
> "fields" : [
> {
> "name" : "foo",
> "type" : ["string", "null"]
> }
> ]
> }
> {
> "type" : "record",
> "name" : "B",
> "namespace" : "com.example",
> "fields" : [
> {
> "name" : "bar",
> "type" : ["string", "null"]
> }
> ]
> }
> {
> "type" : "record",
> "name" : "AOrB",
> "namespace" : "com.example",
> "fields" : [
> {
> "name" : "entity",
> "type" : [
> "com.example.A",
> "com.example.B"
> ]
> }
> ]
> }
> {code}
> And a datum of the form
> {code}
> {'entity': {'foo': 'this is an instance of schema A'}}{code}
> Converting to a message, and then from a message chooses the incorrect
> `entity` schema:
> {code}
> {'entity': {'bar': None}}{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)