avro-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ham...@apache.org
Subject svn commit: r951232 - in /avro/branches/branch-1.3: CHANGES.txt lang/py/src/avro/io.py
Date Fri, 04 Jun 2010 00:58:49 GMT
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



Mime
View raw message