[
https://issues.apache.org/jira/browse/HCATALOG-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531238#comment-13531238
]
Travis Crawford commented on HCATALOG-546:
------------------------------------------
I just tried building against trunk and get some errors. This was just after
installing hive trunk in my local m2 repo:
{code}
ant -Dmvn.publish.repo=local clean package maven-build maven-publish
{code}
{code}
compile:
[echo] hcatalog-server-extensions
[mkdir] Created dir:
/Users/travis/src/hcatalog/server-extensions/build/classes
[javac] Compiling 19 source files to
/Users/travis/src/hcatalog/server-extensions/build/classes
[javac]
/Users/travis/src/hcatalog/server-extensions/src/main/java/org/apache/hcatalog/listener/NotificationListener.java:113:
cannot find symbol
[javac] symbol : method getTable()
[javac] location: class
org.apache.hadoop.hive.metastore.events.AddPartitionEvent
[javac]
send(messageFactory.buildAddPartitionMessage(partitionEvent.getTable(),
partition), topicName);
[javac]
^
[javac]
/Users/travis/src/hcatalog/server-extensions/src/main/java/org/apache/hcatalog/listener/NotificationListener.java:150:
cannot find symbol
[javac] symbol : method getTable()
[javac] location: class
org.apache.hadoop.hive.metastore.events.DropPartitionEvent
[javac]
send(messageFactory.buildDropPartitionMessage(partitionEvent.getTable(),
partition), topicName);
[javac]
^
[javac] Note:
/Users/travis/src/hcatalog/server-extensions/src/main/java/org/apache/hcatalog/messaging/json/JSONMessageFactory.java
uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 2 errors
{code}
> Rework HCatalog's JMS Notifications
> ------------------------------------
>
> Key: HCATALOG-546
> URL: https://issues.apache.org/jira/browse/HCATALOG-546
> Project: HCatalog
> Issue Type: Bug
> Components: notification
> Affects Versions: 0.4.1
> Reporter: Mithun Radhakrishnan
> Assignee: Mithun Radhakrishnan
> Fix For: 0.4.1
>
> Attachments: HCATALOG-546.branch4.patch, HCATALOG-546.trunk.patch,
> sample.Add.Drop.Database.json, sample.Add.Drop.Partition.json,
> sample.Add.Drop.Table.json
>
>
> In 0.4.1, the NotificationListener listens for metastore operations and emits
> JMS notifications containing the entire metastore-objects
> (Database/Table/Partitions) in Java-serialized form. The assumption at the
> time was that consumers might need access to the whole object. This policy
> poses a couple of problems:
> 1. The notifications are verbose, since it conveys a bunch of information
> that's available from querying the metastore anyway.
> 2. Consumers of these JMS notifications (e.g. Oozie) would now be dependent
> on the Java class definitions of metastore-objects. If they change, Oozie
> would also need to be restarted (with updated libs), to consume the
> notifications.
> Ideally, the notifications should convey only the minimum information that
> identifies the metastore-change unambiguously. (Everything else can be
> queried for.) They should be backward compatible. If new fields are added,
> existing consumers shouldn't break (unless they intend to consume the new
> fields). Also, the notification-format ought to be pluggable.
> For the initial rework, we're proposing to use a JSON-string to represent the
> notification-content. We're also proposing a helper-class for the likes of
> Oozie to use, that converts the strings to POJOs, in a backward-compatible
> fashion.
> I'll attach sample notifications and a tentative patch shortly.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira