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