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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0677dd73bcd HBASE-29500 hbase shell: status 'tasks' command fails with 
undefined method getServersSize (#7193)
0677dd73bcd is described below

commit 0677dd73bcd446fcfb80466f9404c4d52f5b9e1e
Author: Peng Lu <[email protected]>
AuthorDate: Sun Aug 10 22:16:46 2025 +0800

    HBASE-29500 hbase shell: status 'tasks' command fails with undefined method 
getServersSize (#7193)
    
    Signed-off-by: Nihal Jain <[email protected]>
---
 hbase-shell/src/main/ruby/hbase/admin.rb       | 8 ++++----
 hbase-shell/src/test/ruby/hbase/admin2_test.rb | 6 ++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb 
b/hbase-shell/src/main/ruby/hbase/admin.rb
index 279f66bff73..5ceaf2a08c7 100644
--- a/hbase-shell/src/main/ruby/hbase/admin.rb
+++ b/hbase-shell/src/main/ruby/hbase/admin.rb
@@ -1029,11 +1029,11 @@ module Hbase
             puts('    no active tasks')
           end
         end
-        puts(format('%d live servers', cluster_metrics.getServersSize))
-        for server in cluster_metrics.getServers
-          puts(format('    %s:%d %d', server.getHostname, server.getPort, 
server.getStartcode))
+        puts(format('%d live servers', 
cluster_metrics.getLiveServerMetrics.size))
+        cluster_metrics.getLiveServerMetrics.keySet.each do |server_name|
+          puts(format('    %s:%d %d', server_name.getHostname, 
server_name.getPort, server_name.getStartcode))
           printed = false
-          for task in cluster_metrics.getLiveServerMetrics.get(server).getTasks
+          for task in 
cluster_metrics.getLiveServerMetrics.get(server_name).getTasks
             next unless task.getState.name == 'RUNNING'
             puts(format('        %s', task.toString))
             printed = true
diff --git a/hbase-shell/src/test/ruby/hbase/admin2_test.rb 
b/hbase-shell/src/test/ruby/hbase/admin2_test.rb
index b840231f7fc..96dc979055c 100644
--- a/hbase-shell/src/test/ruby/hbase/admin2_test.rb
+++ b/hbase-shell/src/test/ruby/hbase/admin2_test.rb
@@ -84,6 +84,12 @@ module Hbase
       assert output.include? 'regionsInTransition'
     end
 
+    define_test 'Get tasks status' do
+      output = capture_stdout { admin.status('tasks', '') }
+      puts "Status output:\n#{output}"
+      assert output.include? 'live servers'
+    end
+
     define_test 'hbck_chore_run' do
       command(:hbck_chore_run)
     end

Reply via email to