YARN-4823. Refactor the nested reservation id field in listReservation to simple string field. (subru via asuresh)

(cherry picked from commit 00bebb7e58)
This commit is contained in:
Arun Suresh 2016-03-25 15:54:38 -07:00
parent d2c33ba61e
commit 1a194f8751
4 changed files with 16 additions and 97 deletions

View File

@ -1,64 +0,0 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.hadoop.yarn.server.resourcemanager.webapp.dao;
import org.apache.hadoop.yarn.api.records.ReservationId;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* Simple class that represent a reservation ID.
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ReservationIdInfo {
@XmlElement(name = "cluster-timestamp")
private long clusterTimestamp;
@XmlElement(name = "reservation-id")
private long reservationId;
public ReservationIdInfo() {
this.clusterTimestamp = 0;
this.reservationId = 0;
}
public ReservationIdInfo(ReservationId reservationId) {
this.clusterTimestamp = reservationId.getClusterTimestamp();
this.reservationId = reservationId.getId();
}
public long getClusterTimestamp() {
return this.clusterTimestamp;
}
public void setClusterTimestamp(long newClusterTimestamp) {
this.clusterTimestamp = newClusterTimestamp;
}
public long getReservationId() {
return this.reservationId;
}
public void setReservationId(long newReservationId) {
this.reservationId = newReservationId;
}
}

View File

@ -44,7 +44,7 @@ public class ReservationInfo {
private List<ResourceAllocationInfo> resourceAllocations = new ArrayList<>(); private List<ResourceAllocationInfo> resourceAllocations = new ArrayList<>();
@XmlElement(name = "reservation-id") @XmlElement(name = "reservation-id")
private ReservationIdInfo reservationId; private String reservationId;
@XmlElement(name = "reservation-definition") @XmlElement(name = "reservation-definition")
private ReservationDefinitionInfo reservationDefinition; private ReservationDefinitionInfo reservationDefinition;
@ -55,7 +55,6 @@ public class ReservationInfo {
user = ""; user = "";
reservationDefinition = new ReservationDefinitionInfo(); reservationDefinition = new ReservationDefinitionInfo();
reservationId = new ReservationIdInfo();
} }
public ReservationInfo(ReservationAllocationState allocation, boolean public ReservationInfo(ReservationAllocationState allocation, boolean
@ -74,7 +73,7 @@ public class ReservationInfo {
} }
} }
reservationId = new ReservationIdInfo(allocation.getReservationId()); reservationId = allocation.getReservationId().toString();
reservationDefinition = new ReservationDefinitionInfo( reservationDefinition = new ReservationDefinitionInfo(
allocation.getReservationDefinition()); allocation.getReservationDefinition());
} }
@ -95,7 +94,7 @@ public class ReservationInfo {
return resourceAllocations; return resourceAllocations;
} }
public ReservationIdInfo getReservationId() { public String getReservationId() {
return reservationId; return reservationId;
} }

View File

@ -714,9 +714,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
testRDLHelper(reservations); testRDLHelper(reservations);
long reservationId = reservations.getJSONObject("reservation-id") String reservationId = reservations.getString("reservation-id");
.getLong("reservation-id"); assertEquals(id1.toString(), reservationId);
assertEquals(id1.getId(), reservationId);
rm.stop(); rm.stop();
} }
@ -769,9 +768,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
testRDLHelper(reservations); testRDLHelper(reservations);
long reservationId = reservations.getJSONObject("reservation-id") String reservationId = reservations.getString("reservation-id");
.getLong("reservation-id"); assertEquals(id1.toString(), reservationId);
assertEquals(id1.getId(), reservationId);
assertTrue(reservations.has("resource-allocations")); assertTrue(reservations.has("resource-allocations"));
@ -804,9 +802,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
testRDLHelper(reservations); testRDLHelper(reservations);
long reservationId = reservations.getJSONObject("reservation-id") String reservationId = reservations.getString("reservation-id");
.getLong("reservation-id"); assertEquals(id1.toString(), reservationId);
assertEquals(id1.getId(), reservationId);
assertTrue(!reservations.has("resource-allocations")); assertTrue(!reservations.has("resource-allocations"));

View File

@ -3147,7 +3147,7 @@ The Cluster Reservation API can be used to list reservations. When listing reser
|:---- |:---- |:---- | |:---- |:---- |:---- |
| acceptance-time | long | Time that the reservation was accepted | | acceptance-time | long | Time that the reservation was accepted |
| resource-allocations | array of ResourceAllocationInfo(JSON) / zero or more ResourceAllocationInfo objects(XML) | Resource allocation information for the reservation | | resource-allocations | array of ResourceAllocationInfo(JSON) / zero or more ResourceAllocationInfo objects(XML) | Resource allocation information for the reservation |
| reservation-id | A single ReservationId object | The unique reservation identifier | | reservation-id | A single ReservationId string | The unique reservation identifier |
| reservation-definition | A single ReservationDefinition Object | A set of constraints representing the need for resources over time of a user | | reservation-definition | A single ReservationDefinition Object | A set of constraints representing the need for resources over time of a user |
| user | string | User who made the reservation | | user | string | User who made the reservation |
@ -3159,21 +3159,14 @@ The Cluster Reservation API can be used to list reservations. When listing reser
| startTime | long | Start time that the resource is allocated for | | startTime | long | Start time that the resource is allocated for |
| endTime | long | End time that the resource is allocated for | | endTime | long | End time that the resource is allocated for |
### elements of the *resource* object ### Elements of the *resource* object
| Item | Data Type | Description | | Item | Data Type | Description |
|:---- |:---- |:---- | |:---- |:---- |:---- |
| memory | int | The memory allocated for the reservation allocation | | memory | int | The memory allocated for the reservation allocation |
| vCores | int | The number of cores allocated for the reservation allocation | | vCores | int | The number of cores allocated for the reservation allocation |
### Elements of the *reservation-id* object ### Elements of the *reservation-definition* object
| Item | Data Type | Description |
|:---- |:---- |:---- |
| cluster-timestamp | long | Timestamp representing the time the reservation was created |
| reservation-id | long | The id of the reservation that was listed |
Elements of the *reservation-definition* object
| Item | Data Type | Description | | Item | Data Type | Description |
|:---- |:---- |:---- | |:---- |:---- |:---- |
@ -3182,14 +3175,14 @@ Elements of the *reservation-definition* object
| reservation-name | string | A mnemonic name of the reservaiton (not a valid identifier). | | reservation-name | string | A mnemonic name of the reservaiton (not a valid identifier). |
| reservation-requests | object | A list of "stages" or phases of this reservation, each describing resource requirements and duration | | reservation-requests | object | A list of "stages" or phases of this reservation, each describing resource requirements and duration |
Elements of the *reservation-requests* object ### Elements of the *reservation-requests* object
| Item | Data Type | Description | | Item | Data Type | Description |
|:---- |:---- |:---- | |:---- |:---- |:---- |
| reservation-request-interpreter | int | A numeric choice of how to interpret the set of ReservationRequest: 0 is an ANY, 1 for ALL, 2 for ORDER, 3 for ORDER\_NO\_GAP | | reservation-request-interpreter | int | A numeric choice of how to interpret the set of ReservationRequest: 0 is an ANY, 1 for ALL, 2 for ORDER, 3 for ORDER\_NO\_GAP |
| reservation-request | object | The description of the resource and time capabilities for a phase/stage of this reservation | | reservation-request | object | The description of the resource and time capabilities for a phase/stage of this reservation |
Elements of the *reservation-request* object ### Elements of the *reservation-request* object
| Item | Data Type | Description | | Item | Data Type | Description |
|:---- |:---- |:---- | |:---- |:---- |:---- |
@ -3253,10 +3246,7 @@ Response Body:
"endTime": "1465542252000" "endTime": "1465542252000"
} }
], ],
"reservation-id": { "reservation-id": "reservation_1458852875788_0002",
"cluster-timestamp": "1455133859510",
"reservation-id": "6"
},
"reservation-definition": { "reservation-definition": {
"arrival": "1465541532000", "arrival": "1465541532000",
"deadline": "1465542252000", "deadline": "1465542252000",
@ -3318,10 +3308,7 @@ Response Body:
<startTime>1465542251000</startTime> <startTime>1465542251000</startTime>
<endTime>1465542252000</endTime> <endTime>1465542252000</endTime>
</resource-allocations> </resource-allocations>
<reservation-id> <reservation-id>reservation_1458852875788_0002</reservation-id>
<cluster-timestamp>1455228059846</cluster-timestamp>
<reservation-id>1</reservation-id>
</reservation-id>
<reservation-definition> <reservation-definition>
<arrival>1465541532000</arrival> <arrival>1465541532000</arrival>
<deadline>1465542252000</deadline> <deadline>1465542252000</deadline>