This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new b4c3d43  [pulsar-admin-tool] add cli command to get last message Id 
(#8082)
b4c3d43 is described below

commit b4c3d43b0730f1ccac7c86e9df648efddfee3cb0
Author: Rajan Dhabalia <[email protected]>
AuthorDate: Tue Sep 29 20:28:42 2020 -0700

    [pulsar-admin-tool] add cli command to get last message Id (#8082)
    
    ### Motivation
    
    Add CLI support get last-message-id
---
 .../org/apache/pulsar/admin/cli/PulsarAdminToolTest.java  |  3 +++
 .../org/apache/pulsar/admin/cli/CmdPersistentTopics.java  | 15 +++++++++++++++
 2 files changed, 18 insertions(+)

diff --git 
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
 
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
index 1f18e83..96de8d8 100644
--- 
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
+++ 
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
@@ -783,6 +783,9 @@ public class PulsarAdminToolTest {
         cmdTopics.run(split("reset-cursor persistent://myprop/clust/ns1/ds1 -s 
sub1 -t 1m"));
         
verify(mockTopics).resetCursor(eq("persistent://myprop/clust/ns1/ds1"), 
eq("sub1"),
                 longThat(new TimestampMatcher()));
+
+        cmdTopics.run(split("last-message-id 
persistent://myprop/clust/ns1/ds1"));
+        
verify(mockTopics).getLastMessageId(eq("persistent://myprop/clust/ns1/ds1"));
     }
 
     @Test
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
index 7b32c64..ade5436 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
@@ -80,6 +80,7 @@ public class CmdPersistentTopics extends CmdBase {
         jcommander.addCommand("delete-partitioned-topic", new 
DeletePartitionedCmd());
         jcommander.addCommand("peek-messages", new PeekMessages());
         jcommander.addCommand("get-message-by-id", new GetMessageById());
+        jcommander.addCommand("last-message-id", new GetLastMessageId());
         jcommander.addCommand("reset-cursor", new ResetCursor());
         jcommander.addCommand("terminate", new Terminate());
         jcommander.addCommand("compact", new Compact());
@@ -595,6 +596,20 @@ public class CmdPersistentTopics extends CmdBase {
         }
     }
 
+
+    @Parameters(commandDescription = "Get last message Id of the topic")
+    private class GetLastMessageId extends CliCommand {
+        @Parameter(description = 
"persistent://property/cluster/namespace/topic", required = true)
+        private java.util.List<String> params;
+
+        @Override
+        void run() throws PulsarAdminException {
+            String persistentTopic = validatePersistentTopic(params);
+            MessageId messageId = 
persistentTopics.getLastMessageId(persistentTopic);
+            print(messageId);
+        }
+    }
+
     @Parameters(commandDescription = "Compact a topic")
     private class Compact extends CliCommand {
         @Parameter(description = 
"persistent://property/cluster/namespace/topic", required = true)

Reply via email to