This is an automated email from the ASF dual-hosted git repository.
pzampino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new 88d5726 KNOX-2151 - HIVE_ON_TEZ HS2 Discovery doesn't work (#224)
88d5726 is described below
commit 88d57269d9118eaa364cde0044bb0545d8e69619
Author: Phil Zampino <[email protected]>
AuthorDate: Wed Dec 18 14:24:36 2019 -0500
KNOX-2151 - HIVE_ON_TEZ HS2 Discovery doesn't work (#224)
---
.../cm/model/hive/HiveOnTezServiceModelGenerator.java | 7 +++++++
.../cm/model/hive/HiveServiceModelGenerator.java | 16 +++++++++++-----
.../cm/ClouderaManagerServiceDiscoveryTest.java | 2 +-
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
index a5dbe06..276daec 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveOnTezServiceModelGenerator.java
@@ -16,6 +16,8 @@
*/
package org.apache.knox.gateway.topology.discovery.cm.model.hive;
+import com.cloudera.api.swagger.model.ApiConfigList;
+
public class HiveOnTezServiceModelGenerator extends HiveServiceModelGenerator {
public static final String SERVICE_TYPE = "HIVE_ON_TEZ";
@@ -25,4 +27,9 @@ public class HiveOnTezServiceModelGenerator extends
HiveServiceModelGenerator {
return SERVICE_TYPE;
}
+ @Override
+ protected boolean checkHiveServer2HTTPMode(ApiConfigList roleConfig) {
+ return TRANSPORT_MODE_HTTP.equals(getRoleConfigValue(roleConfig,
"hive_server2_transport_mode"));
+ }
+
}
diff --git
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
index 981a9df..f37b0ce 100644
---
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
+++
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/HiveServiceModelGenerator.java
@@ -32,6 +32,10 @@ public class HiveServiceModelGenerator extends
AbstractServiceModelGenerator {
public static final String SERVICE_TYPE = "HIVE";
public static final String ROLE_TYPE = "HIVESERVER2";
+ protected static final String TRANSPORT_MODE_HTTP = "http";
+
+
+
@Override
public String getService() {
return SERVICE;
@@ -54,7 +58,9 @@ public class HiveServiceModelGenerator extends
AbstractServiceModelGenerator {
@Override
public boolean handles(ApiService service, ApiServiceConfig serviceConfig,
ApiRole role, ApiConfigList roleConfig) {
- return getServiceType().equals(service.getType()) &&
getRoleType().equals(role.getType()) && checkHiveServer2HTTPMode(roleConfig);
+ return getServiceType().equals(service.getType()) &&
+ getRoleType().equals(role.getType()) &&
+ checkHiveServer2HTTPMode(roleConfig);
}
@Override
@@ -71,13 +77,13 @@ public class HiveServiceModelGenerator extends
AbstractServiceModelGenerator {
return createServiceModel(String.format(Locale.getDefault(),
"%s://%s:%s/%s", scheme, hostname, port, httpPath));
}
- private boolean checkHiveServer2HTTPMode(ApiConfigList roleConfig) {
+ protected boolean checkHiveServer2HTTPMode(ApiConfigList roleConfig) {
+ boolean isHttp = false;
String hiveServer2SafetyValve = getRoleConfigValue(roleConfig,
"hive_hs2_config_safety_valve");
if(hiveServer2SafetyValve != null) {
- String transportMode = getSafetyValveValue(hiveServer2SafetyValve,
"hive.server2.transport.mode");
- return "http".equals(transportMode);
+ isHttp =
TRANSPORT_MODE_HTTP.equals(getSafetyValveValue(hiveServer2SafetyValve,
"hive.server2.transport.mode"));
}
- return false;
+ return isHttp;
}
}
diff --git
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
index ecf5520..e9166ab 100644
---
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
+++
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
@@ -770,12 +770,12 @@ public class ClouderaManagerServiceDiscoveryTest {
final
String thriftPath,
final
boolean enableSSL) {
final String hs2SafetyValveValue =
-
"<property><name>hive.server2.transport.mode</name><value>http</value></property>\n"
+
"<property><name>hive.server2.thrift.http.port</name><value>" +
thriftPort + "</value></property>\n" +
"<property><name>hive.server2.thrift.http.path</name><value>" +
thriftPath + "</value></property>";
// Configure the role
Map<String, String> roleProperties = new HashMap<>();
+ roleProperties.put("hive_server2_transport_mode", "http");
roleProperties.put("hive_hs2_config_safety_valve", hs2SafetyValveValue);
roleProperties.put("hive.server2.use.SSL", String.valueOf(enableSSL));