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

Sangjin Lee commented on YARN-3908:
-----------------------------------

Hmm, then isn't this incorrect?

{code:title=TimelineEvent.java|borderStyle=solid}
  @Override
  public int compareTo(TimelineEvent other) {
    if (timestamp > other.timestamp) {
      return -1;
    } else if (timestamp < other.timestamp) {
      return 1;
    } else {
      return eventType.compareTo(other.eventType);
    }
  }

  @Override
  public boolean equals(Object o) {
    if (this == o)
      return true;
    if (o == null || getClass() != o.getClass())
      return false;

    TimelineEvent event = (TimelineEvent) o;

    if (timestamp != event.timestamp)
      return false;
    if (!eventType.equals(event.eventType))
      return false;
    if (eventInfo != null ? !eventInfo.equals(event.eventInfo) :
        event.eventInfo != null)
      return false;

    return true;
  }

  @Override
  public int hashCode() {
    int result = (int) (timestamp ^ (timestamp >>> 32));
    result = 31 * result + eventType.hashCode();
    result = 31 * result + (eventInfo != null ? eventInfo.hashCode() : 0);
    return result;
  }
{code}

First of all, id is not even used. Instead type is used. Also, event info is 
part of the equality semantics.

> Bugs in HBaseTimelineWriterImpl
> -------------------------------
>
>                 Key: YARN-3908
>                 URL: https://issues.apache.org/jira/browse/YARN-3908
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Vrushali C
>         Attachments: YARN-3908-YARN-2928.001.patch, 
> YARN-3908-YARN-2928.002.patch, YARN-3908-YARN-2928.003.patch, 
> YARN-3908-YARN-2928.004.patch, YARN-3908-YARN-2928.004.patch, 
> YARN-3908-YARN-2928.005.patch
>
>
> 1. In HBaseTimelineWriterImpl, the info column family contains the basic 
> fields of a timeline entity plus events. However, entity#info map is not 
> stored at all.
> 2 event#timestamp is also not persisted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to