[
https://issues.apache.org/jira/browse/HIVE-9609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14313359#comment-14313359
]
Sushanth Sowmyan commented on HIVE-9609:
----------------------------------------
Oh, one more thing. Changing HiveMetaStore.fireMetaStoreAddPartitionEvent() to
eschew List<Partition> does not help us, unless we remove add_partitions
itself, since we were sent in the List<Partition> already, and that is a call
on which we should not break backward compatibility.
I'm retaining AddPartitionEvent as effectively a union of
List<Partition>/PartitionSpec as it currently stands - but I am changing it so
that the "one true way" of accessing AddPartitionEvent is through
getPartitionIterator, which works correctly for both cases. In addition, I'm
outright removing the getPartitions() method that was there earlier and forcing
use of the iterator, since that will not cause a PSpec-based add partitions to
fail when the event is processed.
> AddPartitionMessage.getPartitions() can return null
> ---------------------------------------------------
>
> Key: HIVE-9609
> URL: https://issues.apache.org/jira/browse/HIVE-9609
> Project: Hive
> Issue Type: Bug
> Affects Versions: 1.2.0
> Reporter: Sushanth Sowmyan
> Assignee: Sushanth Sowmyan
> Attachments: HIVE-9609.2.patch, HIVE-9609.patch
>
>
> DbNotificationListener and NotificationListener both depend on
> AddPartitionEvent.getPartitions() to get their partitions to trigger a
> message, but this can be null if an AddPartitionEvent was initialized on a
> PartitionSpec rather than a List<Partition>.
> Also, AddPartitionEvent seems to have a duality, where getPartitions() works
> only if instantiated on a List<Partition>, and getPartitionIterator() works
> only if instantiated on a PartitionSpec.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)