Skip to content

Commit 692f0ae

Browse files
committed
YARN-11484. Fix CheckStyle.
1 parent 16991d6 commit 692f0ae

File tree

13 files changed

+254
-54
lines changed

13 files changed

+254
-54
lines changed

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ResourceMgrDelegate.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,12 @@ public org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(
399399
return client.getQueueInfo(queueName);
400400
}
401401

402+
@Override
403+
public org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(
404+
String queueName, String subClusterId) throws YarnException, IOException {
405+
return client.getQueueInfo(queueName, subClusterId);
406+
}
407+
402408
@Override
403409
public List<org.apache.hadoop.yarn.api.records.QueueInfo> getAllQueues()
404410
throws YarnException, IOException {

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/GetQueueInfoRequest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,5 +114,13 @@ public abstract class GetQueueInfoRequest {
114114
@Public
115115
@Stable
116116
public abstract void setRecursive(boolean recursive);
117+
118+
@Public
119+
@Stable
120+
public abstract String getSubClusterId();
121+
122+
@Public
123+
@Stable
124+
public abstract void setSubClusterId();
117125
}
118126

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueInfo.java

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -356,41 +356,81 @@ public abstract void setIntraQueuePreemptionDisabled(
356356

357357
@Public
358358
@Stable
359-
public abstract String getMinResource();
359+
public abstract int getMinResourceVCore();
360360

361361
@Private
362362
@Unstable
363-
public abstract void setMinResource(String minResource);
363+
public abstract void setMinResourceVCore(int vCore);
364364

365365
@Public
366366
@Stable
367-
public abstract String getMaxResource();
367+
public abstract long getMinResourceMemory();
368368

369369
@Private
370370
@Unstable
371-
public abstract void setMaxResource(String maxResource);
371+
public abstract void setMinResourceMemory(long memory);
372372

373373
@Public
374374
@Stable
375-
public abstract String getReservedResource();
375+
public abstract int getMaxResourceVCore();
376376

377377
@Private
378378
@Unstable
379-
public abstract void setReservedResource(String reservedResource);
379+
public abstract void setMaxResourceVCore(int vCore);
380380

381381
@Public
382382
@Stable
383-
public abstract String getSteadyFairShare();
383+
public abstract long getMaxResourceMemory();
384384

385385
@Private
386386
@Unstable
387-
public abstract void setSteadyFairShare(String fairShare);
387+
public abstract void setMaxResourceMemory(long memory);
388388

389389
@Public
390390
@Stable
391-
public abstract String getInstantaneousFairShare();
391+
public abstract int getReservedResourceVCore();
392392

393393
@Private
394394
@Unstable
395-
public abstract void setInstantaneousFairShare(String fairShare);
395+
public abstract void setReservedResourceVCore(int vCore);
396+
397+
@Public
398+
@Stable
399+
public abstract long getReservedResourceMemory();
400+
401+
@Private
402+
@Unstable
403+
public abstract void setReservedResourceMemory(long memory);
404+
405+
@Public
406+
@Stable
407+
public abstract int getSteadyFairShareVCore();
408+
409+
@Private
410+
@Unstable
411+
public abstract void setSteadyFairShareVCore(int vCore);
412+
413+
@Public
414+
@Stable
415+
public abstract long getSteadyFairShareMemory();
416+
417+
@Private
418+
@Unstable
419+
public abstract void setSteadyFairShareMemory(long memory);
420+
421+
@Public
422+
@Stable
423+
public abstract String getSubClusterId();
424+
425+
@Private
426+
@Unstable
427+
public abstract void setSubClusterId(String subClusterId);
428+
429+
@Public
430+
@Stable
431+
public abstract int getMaxRunningApp();
432+
433+
@Private
434+
@Unstable
435+
public abstract void setMaxRunningApp(int maxRunningApp);
396436
}

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_protos.proto

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -637,11 +637,16 @@ message QueueInfoProto {
637637
optional string queuePath = 15;
638638
optional int32 maxParallelApps = 16;
639639
optional string schedulerType = 17;
640-
optional string minResource = 18;
641-
optional string maxResource = 19;
642-
optional string reservedResource = 20;
643-
optional string steadyFairShare = 21;
644-
optional string instantaneousFairShare = 22;
640+
optional int32 minResourceVCore = 18;
641+
optional int64 minResourceMemory = 19;
642+
optional int32 maxResourceVCore = 20;
643+
optional int64 maxResourceMemory = 21;
644+
optional int32 reservedResourceVCore = 22;
645+
optional int64 reservedResourceMemory = 23;
646+
optional int32 steadyFairShareVCore = 24;
647+
optional int64 steadyFairShareMemory = 25;
648+
optional string subClusterId = 26;
649+
optional int32 maxRunningApp = 27;
645650
}
646651

647652
message QueueConfigurationsProto {

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_service_protos.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ message GetQueueInfoRequestProto {
232232
optional bool includeApplications = 2;
233233
optional bool includeChildQueues = 3;
234234
optional bool recursive = 4;
235+
optional string subClusterId = 5;
235236
}
236237

237238
message GetQueueInfoResponseProto {

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/YarnClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,9 @@ public abstract Token getRMDelegationToken(Text renewer)
469469
public abstract QueueInfo getQueueInfo(String queueName) throws YarnException,
470470
IOException;
471471

472+
public abstract QueueInfo getQueueInfo(String queueName, String subClusterId)
473+
throws YarnException, IOException;
474+
472475
/**
473476
* <p>
474477
* Get information ({@link QueueInfo}) about all queues, recursively if there

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,12 @@ public QueueInfo getQueueInfo(String queueName) throws YarnException,
744744
return rmClient.getQueueInfo(request).getQueueInfo();
745745
}
746746

747+
@Override
748+
public QueueInfo getQueueInfo(String queueName,
749+
String subClusterId) throws YarnException, IOException {
750+
return null;
751+
}
752+
747753
@Override
748754
public List<QueueUserACLInfo> getQueueAclsInfo() throws YarnException,
749755
IOException {

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/QueueCLI.java

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,22 @@
3939
import org.apache.hadoop.yarn.api.records.NodeLabel;
4040
import org.apache.hadoop.yarn.api.records.QueueInfo;
4141
import org.apache.hadoop.yarn.client.util.FormattingCLIUtils;
42+
import org.apache.hadoop.yarn.client.util.YarnClientUtils;
4243
import org.apache.hadoop.yarn.exceptions.YarnException;
4344

4445
import org.apache.hadoop.classification.VisibleForTesting;
4546

47+
import static org.apache.hadoop.yarn.client.util.YarnClientUtils.isYarnFederationEnabled;
48+
4649
@Private
4750
@Unstable
4851
public class QueueCLI extends YarnCLI {
4952
public static final String QUEUE = "queue";
5053

5154
public static final String ALLTAG = "all";
5255

56+
57+
5358
public static void main(String[] args) throws Exception {
5459
QueueCLI cli = new QueueCLI();
5560
cli.setSysOutPrintStream(System.out);
@@ -71,7 +76,8 @@ public int run(String[] args) throws Exception {
7176
"All child queues are displayed according to the parent queue. " +
7277
"If the value is all, all queues are displayed.");
7378
opts.getOption(LIST_CMD).setArgName("Parent Queue Name");
74-
79+
opts.addOption(OPTION_SUBCLUSTERID, true, "We support setting subClusterId in " +
80+
"YARN Federation mode to specify specific subClusters.");
7581

7682
CommandLine cliParser = null;
7783
try {
@@ -87,6 +93,10 @@ public int run(String[] args) throws Exception {
8793
printUsage(opts);
8894
return -1;
8995
}
96+
String queue = cliParser.getOptionValue(STATUS_CMD);
97+
if (isYarnFederationEnabled(getConf())) {
98+
return listQueue(cliParser.getOptionValue(STATUS_CMD));
99+
}
90100
return listQueue(cliParser.getOptionValue(STATUS_CMD));
91101
} else if (cliParser.hasOption(HELP_CMD)) {
92102
printUsage(opts);
@@ -121,7 +131,8 @@ void printUsage(Options opts) {
121131
* @throws YarnException
122132
* @throws IOException
123133
*/
124-
private int listQueue(String queueName) throws YarnException, IOException {
134+
private int listQueue(String queueName)
135+
throws YarnException, IOException {
125136
int rc;
126137
PrintWriter writer = new PrintWriter(
127138
new OutputStreamWriter(sysout, Charset.forName("UTF-8")));
@@ -175,6 +186,10 @@ private int listChildQueues(String parentQueueName) throws IOException, YarnExce
175186
}
176187

177188
private void printQueueInfo(PrintWriter writer, QueueInfo queueInfo) {
189+
if (isYarnFederationEnabled(getConf())) {
190+
writer.println("Using YARN Federation mode.");
191+
}
192+
178193
String schedulerType = queueInfo.getSchedulerType();
179194

180195
if (StringUtils.equals("FairScheduler", schedulerType)) {
@@ -186,35 +201,51 @@ private void printQueueInfo(PrintWriter writer, QueueInfo queueInfo) {
186201
printCapacitySchedulerQueue(writer, queueInfo);
187202
return;
188203
}
204+
205+
writer.println("Unable to get queue " + queueInfo.getQueueName() + " detail.");
189206
}
190207

208+
/**
209+
* Print Queue information of FairScheduler.
210+
*
211+
* @param writer PrintWriter.
212+
* @param queueInfo Queue Information.
213+
*/
191214
private void printFairSchedulerQueue(PrintWriter writer, QueueInfo queueInfo) {
192215
writer.print("Scheduler Name : ");
193216
writer.println(queueInfo.getSchedulerType());
194217
writer.print("Queue Name : ");
195218
writer.println(queueInfo.getQueueName());
196219
writer.print("\tWeight : ");
197-
DecimalFormat df = new DecimalFormat("#.00");
220+
DecimalFormat df = new DecimalFormat("0.00");
198221
writer.println(df.format(queueInfo.getWeight()));
199222
writer.print("\tState : ");
200223
writer.println(queueInfo.getQueueState());
201-
writer.println("\tMinResource : ");
202-
writer.print(queueInfo.getMinResource());
203-
writer.println("\tMaxResource : ");
204-
writer.print(queueInfo.getMaxResource());
205-
writer.println("\tReservedResource : ");
206-
writer.print(queueInfo.getReservedResource());
207-
writer.println("\tSteadyFairShare : ");
208-
writer.print(queueInfo.getSteadyFairShare());
209-
writer.println("\tInstantaneousFairShare : ");
210-
writer.print(queueInfo.getSteadyFairShare());
224+
writer.print("\tMinResource : ");
225+
writer.println("<memory : " + queueInfo.getMinResourceMemory() +
226+
", vCores:" + queueInfo.getMinResourceVCore() + ">");
227+
writer.print("\tMaxResource : ");
228+
writer.println("<memory : " + queueInfo.getMaxResourceMemory() +
229+
", vCores:" + queueInfo.getMaxResourceVCore() + ">");
230+
writer.print("\tReservedResource : ");
231+
writer.println("<memory : " + queueInfo.getReservedResourceMemory() +
232+
", vCores:" + queueInfo.getReservedResourceVCore() + ">");
233+
writer.print("\tSteadyFairShare : ");
234+
writer.println("<memory : " + queueInfo.getSteadyFairShareMemory() +
235+
", vCores:" + queueInfo.getSteadyFairShareVCore() + ">");
211236
Boolean queuePreemption = queueInfo.getPreemptionDisabled();
212237
if (queuePreemption != null) {
213-
writer.println("\tqueue Preemption : ");
214-
writer.print(queuePreemption ? "disabled" : "enabled");
238+
writer.print("\tQueue Preemption : ");
239+
writer.println(queuePreemption ? "enabled" : "disabled");
215240
}
216241
}
217242

243+
/**
244+
* Print Queue information of CapacityScheduler.
245+
*
246+
* @param writer PrintWriter.
247+
* @param queueInfo Queue Information.
248+
*/
218249
private void printCapacitySchedulerQueue(PrintWriter writer, QueueInfo queueInfo) {
219250
writer.print("Scheduler Name : ");
220251
writer.println(queueInfo.getSchedulerType());

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/YarnCLI.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public abstract class YarnCLI extends Configured implements Tool {
3737
public static final String MOVE_TO_QUEUE_CMD = "movetoqueue";
3838
public static final String HELP_CMD = "help";
3939
public static final String SIGNAL_CMD = "signal";
40+
public static final String OPTION_SUBCLUSTERID = "subClusterId";
4041
protected PrintStream sysout;
4142
protected PrintStream syserr;
4243
protected YarnClient client;

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/util/YarnClientUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@ public String run() throws Exception {
250250
});
251251
return challenge;
252252
}
253+
254+
public static boolean isYarnFederationEnabled(Configuration conf) {
255+
boolean isEnabled = conf.getBoolean(YarnConfiguration.FEDERATION_ENABLED,
256+
YarnConfiguration.DEFAULT_FEDERATION_ENABLED);
257+
return isEnabled;
258+
}
253259
}

0 commit comments

Comments
 (0)