You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/07/28 16:10:59 UTC

[hbase] branch master updated: HBASE-24738 [Shell] processlist command fails with ERROR: Unexpected end of file from server when SSL enabled (#2123)

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

stack 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 4471a64  HBASE-24738 [Shell] processlist command fails with ERROR: Unexpected end of file from server when SSL enabled (#2123)
4471a64 is described below

commit 4471a644f6ead157b03109eb39e5bbafa933a0b5
Author: Pankaj <pa...@huawei.com>
AuthorDate: Tue Jul 28 21:40:42 2020 +0530

    HBASE-24738 [Shell] processlist command fails with ERROR: Unexpected end of file from server when SSL enabled (#2123)
    
    
    Signed-off-by: Elliot Miller <el...@apple.com>
---
 hbase-shell/src/main/ruby/hbase/taskmonitor.rb | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/hbase-shell/src/main/ruby/hbase/taskmonitor.rb b/hbase-shell/src/main/ruby/hbase/taskmonitor.rb
index 02c8432..c9cb042 100644
--- a/hbase-shell/src/main/ruby/hbase/taskmonitor.rb
+++ b/hbase-shell/src/main/ruby/hbase/taskmonitor.rb
@@ -74,22 +74,23 @@ module Hbase
     # Returns a filtered list of tasks on the given host
     def tasksOnHost(filter, host)
       java_import 'java.net.URL'
+      java_import 'java.net.SocketException'
       java_import 'java.io.InputStreamReader'
       java_import 'org.apache.hbase.thirdparty.com.google.gson.JsonParser'
 
       infoport = @admin.getClusterMetrics.getLiveServerMetrics.get(host).getInfoServerPort.to_s
 
-      # Note: This condition use constants from hbase-server
-      # if (!@admin.getConfiguration().getBoolean(org.apache.hadoop.hbase.http.ServerConfigurationKeys::HBASE_SSL_ENABLED_KEY,
-      #  org.apache.hadoop.hbase.http.ServerConfigurationKeys::HBASE_SSL_ENABLED_DEFAULT))
-      #  schema = "http://"
-      # else
-      #  schema = "https://"
-      # end
-      schema = 'http://'
-      url = schema + host.hostname + ':' + infoport + '/rs-status?format=json&filter=' + filter
-
-      json = URL.new(url).openStream
+      begin
+        schema = "http://"
+        url = schema + host.hostname + ':' + infoport + '/rs-status?format=json&filter=' + filter
+        json = URL.new(url).openStream
+      rescue SocketException => e
+        # Let's try with https when SocketException occur
+        schema = "https://"
+        url = schema + host.hostname + ':' + infoport + '/rs-status?format=json&filter=' + filter
+        json = URL.new(url).openStream
+      end
+
       parser = JsonParser.new
 
       # read and parse JSON