YARN-7023. Incorrect ReservationId.compareTo() implementation.

This closes #262

Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
This commit is contained in:
Oleg Danilov 2017-08-16 15:19:26 +03:00 committed by Akira Ajisaka
parent 0d419c984f
commit c5281a85e1
No known key found for this signature in database
GPG Key ID: C1EDBB9CA400FD50
1 changed files with 5 additions and 6 deletions

View File

@ -31,7 +31,7 @@ import org.apache.hadoop.yarn.util.Records;
* {@link ReservationId} represents the <em>globally unique</em> identifier for
* a reservation.
* </p>
*
*
* <p>
* The globally unique nature of the identifier is achieved by using the
* <em>cluster timestamp</em> i.e. start-time of the {@code ResourceManager}
@ -62,7 +62,7 @@ public abstract class ReservationId implements Comparable<ReservationId> {
* Get the long identifier of the {@link ReservationId} which is unique for
* all Reservations started by a particular instance of the
* {@code ResourceManager}.
*
*
* @return long identifier of the {@link ReservationId}
*/
@Public
@ -76,7 +76,7 @@ public abstract class ReservationId implements Comparable<ReservationId> {
/**
* Get the <em>start time</em> of the {@code ResourceManager} which is used to
* generate globally unique {@link ReservationId}.
*
*
* @return <em>start time</em> of the {@code ResourceManager}
*/
@Public
@ -94,10 +94,9 @@ public abstract class ReservationId implements Comparable<ReservationId> {
@Override
public int compareTo(ReservationId other) {
if (this.getClusterTimestamp() - other.getClusterTimestamp() == 0) {
return getId() > getId() ? 1 : getId() < getId() ? -1 : 0;
return Long.compare(getId(), other.getId());
} else {
return this.getClusterTimestamp() > other.getClusterTimestamp() ? 1
: this.getClusterTimestamp() < other.getClusterTimestamp() ? -1 : 0;
return Long.compare(getClusterTimestamp(), other.getClusterTimestamp());
}
}