Cool. I will prepare a patch and post on HIVE-2038.
Ashutosh On Wed, Mar 9, 2011 at 16:59, John Sichi <[email protected]> wrote: > Yeah, thinking about it more, they're likely to end up looking different. > The listener should cover most possible repository changes, whereas > HiveMetaHook is focused on a narrower set of object definitions. > > JVS > > On Mar 9, 2011, at 1:48 PM, Ashutosh Chauhan wrote: > >> It might be possible to extend and modify the HiveMetaHook interface. >> But, I think keeping them separate is better because MetaHook and >> MetaStoreListener are interfaces for two different functionalities. >> MetaHook is for communicating with external system if there is a need >> for it. MetaStoreListener observe changes on metastore and run some >> logic in response to those changes. What do you think? >> >> Ashutosh >> >> On Wed, Mar 9, 2011 at 13:36, John Sichi <[email protected]> wrote: >>> Couldn't we reuse HiveMetaHook for this new purpose (with an instance >>> loaded via global config vs associated with the table handler)? >>> >>> JVS >>> >>> On Mar 8, 2011, at 2:12 PM, Ashutosh Chauhan wrote: >>> >>>> Hi all, >>>> >>>> I have a requirement that every time some change on metastore takes >>>> place, we have some logic which needs to be run. For example, if a new >>>> table is getting created in metastore I want to send a message to a >>>> message bus. Easiest way for this to work is to add the logic in >>>> createTable(). Control it by a hiveConf param and turn it off by >>>> default. Alternative way is via hooks. Have this extra logic in hook >>>> and then load and fire the hook if its available. Does anyone has an >>>> opinion which of these two is preferable. Second one requires new hook >>>> loading and execution logic. I am currently interested in four >>>> functions: createTable() dropTable() addPartition() dropPartition(). >>>> Current, HiveMetaHook which exists in createTable() doesn't perfectly >>>> fit the bill, since it is fired only when user expresses it in his >>>> create table statement (i.e., if he has specified a storage handler) >>>> Instead I want to have this logic always run. >>>> If it is unclear, let me know, I can post the code which can >>>> demonstrate my usecase. >>>> >>>> Ashutosh >>> >>> > >
