Author: hammer
Date: Fri Jun 4 00:58:49 2010
New Revision: 951232
URL: http://svn.apache.org/viewvc?rev=951232&view=rev
Log:
Merge r951231 from trunk to 1.3 branch. Fixes: AVRO-559.
Modified:
avro/branches/branch-1.3/CHANGES.txt
avro/branches/branch-1.3/lang/py/src/avro/io.py
Modified: avro/branches/branch-1.3/CHANGES.txt
URL:
http://svn.apache.org/viewvc/avro/branches/branch-1.3/CHANGES.txt?rev=951232&r1=951231&r2=951232&view=diff
==============================================================================
--- avro/branches/branch-1.3/CHANGES.txt (original)
+++ avro/branches/branch-1.3/CHANGES.txt Fri Jun 4 00:58:49 2010
@@ -11,6 +11,9 @@ Avro 1.3.3 (Unreleased)
AVRO-560. Python impl should include system errors in every protocol
(hammer)
+ AVRO-559. Handle read_union error where the list index of the union branch
+ to follow exceeds the size of the union schema (hammer)
+
BUG FIXES
AVRO-496. python sample_http_client.py is broken (Jeff Hodges via hammer)
Modified: avro/branches/branch-1.3/lang/py/src/avro/io.py
URL:
http://svn.apache.org/viewvc/avro/branches/branch-1.3/lang/py/src/avro/io.py?rev=951232&r1=951231&r2=951232&view=diff
==============================================================================
--- avro/branches/branch-1.3/lang/py/src/avro/io.py (original)
+++ avro/branches/branch-1.3/lang/py/src/avro/io.py Fri Jun 4 00:58:49 2010
@@ -606,6 +606,10 @@ class DatumReader(object):
"""
# schema resolution
index_of_schema = int(decoder.read_long())
+ if index_of_schema >= len(writers_schema.schemas):
+ fail_msg = "Can't access branch index %d for union with %d branches"\
+ % (index_of_schema, writers_schema.schemas)
+ raise SchemaResolutionException(fail_msg, writers_schema, readers_schema)
selected_writers_schema = writers_schema.schemas[index_of_schema]
# read data