[ https://issues.apache.org/jira/browse/HIVE-18942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16397777#comment-16397777 ]
Na Li commented on HIVE-18942: ------------------------------ [~kkalyan] The event type is "EventMessage.EventType.ADD_PARTITION", not "EventType.ALTER_TABLE". It puts all partitions in the event. {code:java} In DbNotificationListener public void onAddPartition (AddPartitionEvent partitionEvent) throws MetaException { Table t = partitionEvent.getTable(); NotificationEvent event = new NotificationEvent(0, now(), HCatConstants.HCAT_ADD_PARTITION_EVENT, msgFactory.buildAddPartitionMessage(t, partitionEvent.getPartitions()).toString()); event.setDbName(t.getDbName()); event.setTableName(t.getTableName()); enqueue(event, partitionEvent); } {code} > ALTER TABLE may generate huge event (with all partitions) > --------------------------------------------------------- > > Key: HIVE-18942 > URL: https://issues.apache.org/jira/browse/HIVE-18942 > Project: Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 3.0.0 > Reporter: Alexander Kolbasov > Priority: Major > > ALTER TABLE handler in HiveAlterHandler has this code: > {code:java} > if (isPartitionedTable) { > parts = msdb.getPartitions(newt.getDbName(), newt.getTableName(), -1); > MetaStoreListenerNotifier.notifyEvent(transactionalListeners, > EventMessage.EventType.ADD_PARTITION, > new AddPartitionEvent(newt, parts, true, handler), > environmentContext); > }{code} > The problem is that table may contain huge number of partitions and the event > will contain all of them. Partition object itself isn't very small either, so > we may end up with huge events which would be stored and then transmitted > over the wire to consumers. > [~spena] [~kkalyan] [~lina.li] [~vaidyand] FYI. -- This message was sent by Atlassian JIRA (v7.6.3#76005)