Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change 
notification.

The "Hive/HowToContribute" page has been changed by JohnSichi.
http://wiki.apache.org/hadoop/Hive/HowToContribute?action=diff&rev1=15&rev2=16

--------------------------------------------------

  
  If you are changing {{{hive_service.thrift}}}, the steps should be similar.  
In both cases, you may also need to [[HiveOdbc|deal with recompiling C++ 
clients as well]].
  
+ == Metastore JDO Changes ==
+ 
+ For some changes, you may need to update the persistence specification in 
{{{hive/metastore/src/model/package.jdo}}}, together with the various Java data 
access classes which it references.  If you get this wrong (e.g. adding a new 
field in JDO without adding corresponding getters and setters in the Java 
class), you'll get an error like this at runtime:
+ 
+ {{{
+ FAILED: Error in metadata: javax.jdo.JDOFatalUserException: Class 
org.apache.hadoop.hive.metastore.model.MTable has field 
org.apache.hadoop.hive.metastore.model.MTable.someNewField declared in 
MetaData, but this field doesnt exist in the class!
+ }}}
+ 
+ You can quickly find all such mistakes as follows:
+ 
+ {{{
+ cd /path/to/hive-trunk/metastore
+ ant model-enhance
+ }}}
+ 
+ Unfortunately, this ant task (which runs as part of the main build) does NOT 
cause the build to fail when an error is encountered, so you have to read 
through the output to verify that there are no errors remaining.
+ 
+ Note that persistence changes can have impact on the upgradability of 
existing deployed metastores, so you should undertake them carefully and 
discuss them on the mailing lists.
+ 
  == Stay involved ==
  Contributors should join the 
[[http://hadoop.apache.org/hive/mailing_lists.html|Hive mailing lists]].  In 
particular the dev list (to join discussions of changes) and the user list (to 
help others).
  

Reply via email to