-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/20096/
-----------------------------------------------------------

(Updated April 24, 2014, 1:25 a.m.)


Review request for hive.


Changes
-------

Implemented a new approach based on Xuefu and Ashutosh's comments on HIVE-6835. 
See the updated Description for details.


Repository: hive-git


Description (updated)
-------

The problem occurs when you store the "avro.schema.(literal|url)" in the 
SERDEPROPERTIES instead of the TBLPROPERTIES, add a partition, change the 
table's schema, and then try reading from the old partition.

I fixed this problem by adding a new initialize() method to AbstractSerDe that 
takes both table properties and partition properties. The default 
implementation of this new method uses partition properties if its not null and 
table properties otherwise. I then overrode the new initalize() method in the 
AvroSerDe, and had the AvroSerDe always use the table properties. I also added 
a helper method that takes a Deserializer and calls the new initialize() method 
whenever the Deserializer is an instanceof AbstractSerDe. I then had to change 
all calls to Deserializer.initialize() to use my helper method instead.


Diffs (updated)
-----

  
contrib/src/java/org/apache/hadoop/hive/contrib/serde2/s3/S3LogDeserializer.java
 69b618b 
  contrib/src/test/org/apache/hadoop/hive/contrib/serde2/TestRegexSerDe.java 
394ce3f 
  hbase-handler/src/test/org/apache/hadoop/hive/hbase/TestHBaseSerDe.java 
089a31a 
  
hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/InternalUtil.java
 fb650dd 
  
hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/TestHCatRecordSerDe.java
 e84b789 
  hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/TestJsonSerDe.java 
c1d170a 
  
hcatalog/core/src/test/java/org/apache/hive/hcatalog/rcfile/TestRCFileMapReduceInputFormat.java
 9dde771 
  
hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/DelimitedInputWriter.java
 7ba6bb8 
  
hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/StrictJsonWriter.java
 9b26550 
  jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveQueryResultSet.java 3215178 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 
1bbe02e 
  ql/src/java/org/apache/hadoop/hive/ql/exec/DefaultFetchFormatter.java 25385ba 
  ql/src/java/org/apache/hadoop/hive/ql/exec/DemuxOperator.java b0b0925 
  ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java 6daf199 
  ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableDummyOperator.java 
e00b7d3 
  ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java c8003f5 
  ql/src/java/org/apache/hadoop/hive/ql/exec/JoinUtil.java 80ccf5a 
  ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java 055d13e 
  ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java 2416948 
  ql/src/java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java 1354b36 
  ql/src/java/org/apache/hadoop/hive/ql/exec/SkewJoinHandler.java 3bf58f6 
  ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecReducer.java 2ef79d4 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java 
0e4bdff 
  ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatchCtx.java 
49b8da1 
  ql/src/java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java f339651 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 77305ff 
  ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDeserializer.java 3a258e4 
  ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java 43cef5c 
  ql/src/java/org/apache/hadoop/hive/ql/plan/TableDesc.java 6144303 
  
ql/src/test/org/apache/hadoop/hive/ql/exec/persistence/TestMapJoinTableContainer.java
 755d783 
  
ql/src/test/org/apache/hadoop/hive/ql/exec/persistence/TestPTFRowContainer.java 
cea3529 
  ql/src/test/org/apache/hadoop/hive/ql/exec/persistence/Utilities.java 4fc613e 
  
ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorizedRowBatchCtx.java
 7f3cb15 
  ql/src/test/org/apache/hadoop/hive/ql/io/TestRCFile.java 5edd265 
  ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestInputOutputFormat.java 
5664f3f 
  ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestParquetSerDe.java 
be518b9 
  ql/src/test/queries/clientpositive/avro_partitioned.q 6fe5117 
  ql/src/test/results/clientpositive/avro_partitioned.q.out 644716d 
  serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java 1ab15a8 
  serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java d226d21 
  serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java 55bfa2e 
  serde/src/test/org/apache/hadoop/hive/serde2/TestStatsSerde.java 9aa3c45 
  serde/src/test/org/apache/hadoop/hive/serde2/avro/TestAvroSerde.java a5d494f 
  
serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableSerDe.java
 e512f42 
  
serde/src/test/org/apache/hadoop/hive/serde2/columnar/TestLazyBinaryColumnarSerDe.java
 e8639ff 
  serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazyArrayMapStruct.java 
714045b 
  serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleSerDe.java 
28eb868 
  
serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinarySerDe.java
 69c891d 
  
serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestCrossMapEqualComparer.java
 a69fcb7 
  
serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestSimpleMapEqualComparer.java
 dd9610e 
  service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java 
2a113d5 

Diff: https://reviews.apache.org/r/20096/diff/


Testing
-------

Added test cases


Thanks,

Anthony Hsu

Reply via email to