GitHub user vahidhashemian opened a pull request:

    https://github.com/apache/kafka/pull/4271

    KAFKA-5526: Additional `--describe` views for ConsumerGroupCommand (KIP-175)

    The `--describe` option of ConsumerGroupCommand is expanded to support:
    * `--describe` or `--describe --offsets`: listing of current group offsets
    * `--describe --members` or `--describe --members --verbose`: listing of 
group members
    * `--describe --state`: group status
    
    Example: With a single partition topic `test1` and a double partition topic 
`test2`, consumers `consumer1` and `consumer11` subscribed to `test`, consumers 
`consumer2` and `consumer22` and `consumer222` subscribed to `test2`, and all 
consumers belonging to group `test-group`, this is an output example of the new 
options above for `test-group`:
    
    ```
    --describe, or --describe --offsets:
    
    TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             
CONSUMER-ID                                     HOST            CLIENT-ID
    test2           0          0               0               0               
consumer2-bad9496d-0889-47ab-98ff-af17d9460382  /127.0.0.1      consumer2
    test2           1          0               0               0               
consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411 /127.0.0.1      consumer22
    test1           0          0               0               0               
consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf  /127.0.0.1      consumer1
    ```
    
    ```
    --describe --members
    
    CONSUMER-ID                                      HOST            CLIENT-ID  
     #PARTITIONS
    consumer2-bad9496d-0889-47ab-98ff-af17d9460382   /127.0.0.1      consumer2  
     1
    consumer222-ed2108cd-d368-41f1-8514-5b72aa835bcc /127.0.0.1      
consumer222     0
    consumer11-dc8295d7-8f3f-4438-9b11-7270bab46760  /127.0.0.1      consumer11 
     0
    consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411  /127.0.0.1      consumer22 
     1
    consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf   /127.0.0.1      consumer1  
     1
    ```
    
    ```
    --describe --members --verbose
    
    CONSUMER-ID                                      HOST            CLIENT-ID  
     #PARTITIONS     ASSIGNMENT
    consumer2-bad9496d-0889-47ab-98ff-af17d9460382   /127.0.0.1      consumer2  
     1               test2(0)
    consumer222-ed2108cd-d368-41f1-8514-5b72aa835bcc /127.0.0.1      
consumer222     0               -
    consumer11-dc8295d7-8f3f-4438-9b11-7270bab46760  /127.0.0.1      consumer11 
     0               -
    consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411  /127.0.0.1      consumer22 
     1               test2(1)
    consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf   /127.0.0.1      consumer1  
     1               test1(0)
    ```
    
    ```
    --describe --state
    
    ASSIGNMENT-STRATEGY       STATE                #MEMBERS
    range                     Stable               5
    ```
    
    Note that this PR also addresses the issue reported in 
[KAFKA-6158](https://issues.apache.org/jira/browse/KAFKA-6158) by dynamically 
setting the width of columns `TOPIC`, `CONSUMER-ID`, `HOST` and `CLIENT-ID`. 
This avoid truncation of column values when they go over the current fixed 
width of these columns.
    
    The code has been restructured to better support testing of individual 
values and also the console output. Unit tests have been updated and extended 
to take advantage of this restructuring.
    
    ### Committer Checklist (excluded from commit message)
    - [ ] Verify design and implementation 
    - [ ] Verify test coverage and CI build status
    - [ ] Verify documentation (including upgrade notes)


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vahidhashemian/kafka KAFKA-5526

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/4271.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4271
    
----
commit 1973db23d2f29191ec56b56a3040c1a2b0c00ef4
Author: Vahid Hashemian <vahidhashem...@us.ibm.com>
Date:   2017-11-28T20:08:37Z

    KAFKA-5526: Additional `--describe` views for ConsumerGroupCommand (KIP-175)
    
    The `--describe` option of ConsumerGroupCommand is expanded to support:
    * `--describe` or `--describe --offsets`: listing of current group offsets
    * `--describe --members` or `--describe --members --verbose`: listing of 
group members
    * `--describe --state`: group status
    
    Example: With a single partition topic `test1` and a double partition topic 
`test2`, consumers `consumer1` and `consumer11` subscribed to `test`, consumers 
`consumer2` and `consumer22` and `consumer222` subscribed to `test2`, and all 
consumers belonging to group `test-group`, this is an output example of the new 
options above for `test-group`:
    
    ```
    --describe, or --describe --offsets:
    
    TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             
CONSUMER-ID                                     HOST            CLIENT-ID
    test2           0          0               0               0               
consumer2-bad9496d-0889-47ab-98ff-af17d9460382  /127.0.0.1      consumer2
    test2           1          0               0               0               
consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411 /127.0.0.1      consumer22
    test1           0          0               0               0               
consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf  /127.0.0.1      consumer1
    ```
    
    ```
    --describe --members
    
    CONSUMER-ID                                      HOST            CLIENT-ID  
     #PARTITIONS
    consumer2-bad9496d-0889-47ab-98ff-af17d9460382   /127.0.0.1      consumer2  
     1
    consumer222-ed2108cd-d368-41f1-8514-5b72aa835bcc /127.0.0.1      
consumer222     0
    consumer11-dc8295d7-8f3f-4438-9b11-7270bab46760  /127.0.0.1      consumer11 
     0
    consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411  /127.0.0.1      consumer22 
     1
    consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf   /127.0.0.1      consumer1  
     1
    ```
    
    ```
    --describe --members --verbose
    
    CONSUMER-ID                                      HOST            CLIENT-ID  
     #PARTITIONS     ASSIGNMENT
    consumer2-bad9496d-0889-47ab-98ff-af17d9460382   /127.0.0.1      consumer2  
     1               test2(0)
    consumer222-ed2108cd-d368-41f1-8514-5b72aa835bcc /127.0.0.1      
consumer222     0               -
    consumer11-dc8295d7-8f3f-4438-9b11-7270bab46760  /127.0.0.1      consumer11 
     0               -
    consumer22-c45e6ee2-0c7d-44a3-94a8-9627f63fb411  /127.0.0.1      consumer22 
     1               test2(1)
    consumer1-d51b0345-3194-4305-80db-81a68fa6c5bf   /127.0.0.1      consumer1  
     1               test1(0)
    ```
    
    ```
    --describe --state
    
    ASSIGNMENT-STRATEGY       STATE                #MEMBERS
    range                     Stable               5
    ```
    
    Note that this PR also addresses the issue reported in 
[KAFKA-6158](https://issues.apache.org/jira/browse/KAFKA-6158) by dynamically 
setting the width of columns `TOPIC`, `CONSUMER-ID`, `HOST` and `CLIENT-ID`. 
This avoid truncation of column values when they go over the current fixed 
width of these columns.

----


---

Reply via email to