[ 
https://issues.apache.org/jira/browse/HIVE-2038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023439#comment-13023439
 ] 

Carl Steinbach commented on HIVE-2038:
--------------------------------------

If you do it this way I think you can only support registering a single 
listener. This follows from the fact that the meaning of a 
takeActionOnPartition() event is specific to a particular application, but the 
listener has no way of knowing which application fired the event. I don't think 
this is an acceptable limitation.

You can get around this by defining a ListenerEvent base class that third-party 
applications are allowed to extend. Applications can then fire this event from 
the client side, and listeners can register events that they are interested in 
listening for using an event type registry. Getting this to work is further 
complicated by the fact that you have to support serialization of the event 
objects over the Thrift interface.

I think it's appropriate to tackle this problem in a separate JIRA. I'd like to 
see some concrete use cases and discuss alternatives. I'm not convinced that 
the MetastoreClient/MetastoreListener should support the ability to fire 
arbitrary events.

> Metastore listener
> ------------------
>
>                 Key: HIVE-2038
>                 URL: https://issues.apache.org/jira/browse/HIVE-2038
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore
>            Reporter: Ashutosh Chauhan
>            Assignee: Ashutosh Chauhan
>             Fix For: 0.8.0
>
>         Attachments: hive-2038.patch, metastore_listener.patch, 
> metastore_listener.patch, metastore_listener.patch
>
>
> Provide to way to observe changes happening on Metastore

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to