You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sushanth Sowmyan (JIRA)" <ji...@apache.org> on 2015/02/02 21:58:35 UTC
[jira] [Created] (HIVE-9550) ObjectStore.getNextNotification() can
return events inside NotificationEventResponse as null which conflicts with
its thrift "required" tag
Sushanth Sowmyan created HIVE-9550:
--------------------------------------
Summary: ObjectStore.getNextNotification() can return events inside NotificationEventResponse as null which conflicts with its thrift "required" tag
Key: HIVE-9550
URL: https://issues.apache.org/jira/browse/HIVE-9550
Project: Hive
Issue Type: Bug
Reporter: Sushanth Sowmyan
Per hive_metastore.thrift, the "events" list inside NotificationEventResponse is a required field that cannot be null.
{code}
struct NotificationEventResponse {
1: required list<NotificationEvent> events,
}
{code}
However, per ObjectStore.java, this events field can be uninitialized if the events retrieved from the metastore is empty instead of null:
{code}
NotificationEventResponse result = new NotificationEventResponse();
int maxEvents = rqst.getMaxEvents() > 0 ? rqst.getMaxEvents() : Integer.MAX_VALUE;
int numEvents = 0;
while (i.hasNext() && numEvents++ < maxEvents) {
result.addToEvents(translateDbToThrift(i.next()));
}
return result;
{code}
The fix is simple enough - we need to call result.setEvents(new ArrayList<NotificationEvent>()) before we begin the iteration to do result.addToEvents(...).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)