sodonnel opened a new pull request, #5659:
URL: https://github.com/apache/ozone/pull/5659

   ## What changes were proposed in this pull request?
   
   Currently the command:
   
   ozone admin container info 1234
   
   Only accepts a single container ID. If you need to list the details from 
many containers, then the JVM startup overhead makes the command very slow.
   
   This Jira changes the behavior so you can pass multiple containers at the 
same time, eg:
   
   ```
   ozone admin container info 1 2 456 789
   ```
   
   Additionally, you can pass the container list over stdin, with 1 containerID 
per line. To do that, you pass the container id as a dash character:
   
   ```
   ozone admin container info - < containerList
   ```
   
   When passing multiple containers, if a container is not found or is an 
invalid ID, and error is printed to stdout and the command will continue with 
the next ID in the list.
   
   If containers are being read from stdin, or multiple IDs are specified on 
the command list, the JSON output will be an array of objects rather than a 
series of standalone objects. For a single ID passed, the json output is not an 
array as it was before to ensure compatibility.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-9700
   
   ## How was this patch tested?
   
   New and changed unit tests. Also validated output in a docker compose 
cluster. Sample output:
   
   ```
   bash-4.2$ ozone admin container info
   Missing required parameter: '<container ID>'
   Usage: ozone admin container info [-hV] [--json] [-id=<scmServiceId>]
                                     [--scm=<scm>] <container ID>...
   Show information about a specific container
         <container ID>...   One or more container IDs separated by spaces. To
                               read from stdin, specify '-' and supply the
                               container IDs separated by newlines.
     -h, --help              Show this help message and exit.
         -id, --service-id=<scmServiceId>
                             ServiceId of SCM HA Cluster
         --json              Format output as JSON
         --scm=<scm>         The destination scm (host:port)
     -V, --version           Print version information and exit.
   
   
   bash-4.2$ ozone admin container info 1
   Container id: 1
   Pipeline id: 5fdac11e-e035-44d9-bc3c-16711c2b30aa
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   
   bash-4.2$ ozone admin container info 1 2 invalid 5454 3
   Container id: 1
   Pipeline id: 3350506c-347d-4ff0-93d1-9543dffca5fa
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   Container id: 2
   Pipeline id: 9068546d-7977-417b-8bcf-380b9c2d9a9c
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Invalid container ID: invalid
   Unable to retrieve the container details for 5454
   
   Container id: 3
   Pipeline id: d987fe3a-fbac-4075-944b-68c16845de20
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   
   bash-4.2$ ozone admin container info 1 2 invalid 5454 3 2> errs
   Container id: 1
   Pipeline id: 2da627a2-ae28-43dc-acb1-bf290d24d5ce
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   Container id: 2
   Pipeline id: d8c5fd1b-409c-4733-826f-bc524ed77405
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   Container id: 3
   Pipeline id: a88f2992-f5ef-455a-a4ab-b5bb5ab48126
   Container State: CLOSED
   Datanodes: 
[f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
f3171888-dbf9-4073-a6f2-86d552633f27; Location: 
f3171888-dbf9-4073-a6f2-86d552633f27/ozone_datanode_1.ozone_default]
   
   bash-4.2$ more errs 
   Invalid container ID: invalid
   Unable to retrieve the container details for 5454
   ```
   
   Reading from stdin:
   
   ```
   bash-4.2$ cat containers | ozone admin container info -
   Container id: 1
   Pipeline id: fb272e11-e770-48d7-bae8-d0b0c468fad3
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   Container id: 2
   Pipeline id: 968dc125-3ade-4114-a640-50ac8239f2b3
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Invalid container ID: invaid
   
   Container id: 3
   Pipeline id: a63dc520-a5ef-4e56-b120-175530ad47e3
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   Container id: 4
   Pipeline id: 70f14c17-0969-47c7-a39d-40b3dd28396e
   Container State: OPEN
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: OPEN; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   
   bash-4.2$ ozone admin container info - < containers 
   Container id: 1
   Pipeline id: 6d412aea-bb85-4ec7-81e0-ffeec2c98228
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   Container id: 2
   Pipeline id: 61ad0279-70bc-4460-ae2e-0bc5a7a82313
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Invalid container ID: invaid
   
   Container id: 3
   Pipeline id: 5ea9a9db-3263-42f4-aa9b-c77b842c2c58
   Container State: CLOSED
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: CLOSED; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   Container id: 4
   Pipeline id: 70f14c17-0969-47c7-a39d-40b3dd28396e
   Container State: OPEN
   Datanodes: 
[2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   Replicas: [State: OPEN; ReplicaIndex: 0; Origin: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384; Location: 
2c6f320c-ddb9-4f72-9157-05ee60dc6384/ozone_datanode_1.ozone_default]
   
   bash-4.2$ more containers 
   1
   2
   invaid
   3
   4
   ```
   
   Similar output for the --json switch.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to