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).