|
@@ -21,15 +21,13 @@ import java.io.IOException;
|
|
|
import java.net.Inet4Address;
|
|
|
import java.net.InetAddress;
|
|
|
import java.net.NetworkInterface;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.Enumeration;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
import java.util.Properties;
|
|
|
import javax.security.sasl.Sasl;
|
|
|
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-
|
|
|
import com.cloudera.livy.client.common.ClientConf;
|
|
|
|
|
|
public class RSCConf extends ClientConf<RSCConf> {
|
|
@@ -37,14 +35,14 @@ public class RSCConf extends ClientConf<RSCConf> {
|
|
|
public static final String SPARK_CONF_PREFIX = "spark.";
|
|
|
public static final String LIVY_SPARK_PREFIX = SPARK_CONF_PREFIX + "__livy__.";
|
|
|
|
|
|
- private static final Logger LOG = LoggerFactory.getLogger(RSCConf.class);
|
|
|
+ private static final String RSC_CONF_PREFIX = "livy.rsc.";
|
|
|
|
|
|
public static enum Entry implements ConfEntry {
|
|
|
CLIENT_ID("client.auth.id", null),
|
|
|
CLIENT_SECRET("client.auth.secret", null),
|
|
|
- CLIENT_IN_PROCESS("client.do_not_use.run_driver_in_process", false),
|
|
|
- CLIENT_SHUTDOWN_TIMEOUT("client.shutdown_timeout", "10s"),
|
|
|
- DRIVER_CLASS("driver_class", null),
|
|
|
+ CLIENT_IN_PROCESS("client.do-not-use.run-driver-in-process", false),
|
|
|
+ CLIENT_SHUTDOWN_TIMEOUT("client.shutdown-timeout", "10s"),
|
|
|
+ DRIVER_CLASS("driver-class", null),
|
|
|
SESSION_KIND("session.kind", null),
|
|
|
|
|
|
LIVY_JARS("jars", null),
|
|
@@ -56,9 +54,9 @@ public class RSCConf extends ClientConf<RSCConf> {
|
|
|
LAUNCHER_PORT("launcher.port", -1),
|
|
|
|
|
|
// How long will the RSC wait for a connection for a Livy server before shutting itself down.
|
|
|
- SERVER_IDLE_TIMEOUT("server.idle_timeout", "10m"),
|
|
|
+ SERVER_IDLE_TIMEOUT("server.idle-timeout", "10m"),
|
|
|
|
|
|
- PROXY_USER("proxy_user", null),
|
|
|
+ PROXY_USER("proxy-user", null),
|
|
|
|
|
|
RPC_SERVER_ADDRESS("rpc.server.address", null),
|
|
|
RPC_CLIENT_HANDSHAKE_TIMEOUT("server.connect.timeout", "90s"),
|
|
@@ -71,19 +69,19 @@ public class RSCConf extends ClientConf<RSCConf> {
|
|
|
SASL_MECHANISMS("rpc.sasl.mechanisms", "DIGEST-MD5"),
|
|
|
SASL_QOP("rpc.sasl.qop", null),
|
|
|
|
|
|
- TEST_STUCK_END_SESSION("test.do_not_use.stuck_end_session", false),
|
|
|
- TEST_STUCK_START_DRIVER("test.do_not_use.stuck_start_driver", false),
|
|
|
+ TEST_STUCK_END_SESSION("test.do-not-use.stuck-end-session", false),
|
|
|
+ TEST_STUCK_START_DRIVER("test.do-not-use.stuck-start-driver", false),
|
|
|
|
|
|
- JOB_CANCEL_TRIGGER_INTERVAL("job_cancel.trigger_interval", "100ms"),
|
|
|
- JOB_CANCEL_TIMEOUT("job_cancel.timeout", "30s"),
|
|
|
+ JOB_CANCEL_TRIGGER_INTERVAL("job-cancel.trigger-interval", "100ms"),
|
|
|
+ JOB_CANCEL_TIMEOUT("job-cancel.timeout", "30s"),
|
|
|
|
|
|
- RETAINED_STATEMENT_NUMBER("retained_statements", 100);
|
|
|
+ RETAINED_STATEMENT_NUMBER("retained-statements", 100);
|
|
|
|
|
|
private final String key;
|
|
|
private final Object dflt;
|
|
|
|
|
|
private Entry(String key, Object dflt) {
|
|
|
- this.key = "livy.rsc." + key;
|
|
|
+ this.key = RSC_CONF_PREFIX + key;
|
|
|
this.dflt = dflt;
|
|
|
}
|
|
|
|
|
@@ -146,4 +144,67 @@ public class RSCConf extends ClientConf<RSCConf> {
|
|
|
return address.getCanonicalHostName();
|
|
|
}
|
|
|
|
|
|
+ private static final Map<String, DeprecatedConf> configsWithAlternatives
|
|
|
+ = Collections.unmodifiableMap(new HashMap<String, DeprecatedConf>() {{
|
|
|
+ put(RSCConf.Entry.CLIENT_IN_PROCESS.key, DepConf.CLIENT_IN_PROCESS);
|
|
|
+ put(RSCConf.Entry.CLIENT_SHUTDOWN_TIMEOUT.key, DepConf.CLIENT_SHUTDOWN_TIMEOUT);
|
|
|
+ put(RSCConf.Entry.DRIVER_CLASS.key, DepConf.DRIVER_CLASS);
|
|
|
+ put(RSCConf.Entry.SERVER_IDLE_TIMEOUT.key, DepConf.SERVER_IDLE_TIMEOUT);
|
|
|
+ put(RSCConf.Entry.PROXY_USER.key, DepConf.PROXY_USER);
|
|
|
+ put(RSCConf.Entry.TEST_STUCK_END_SESSION.key, DepConf.TEST_STUCK_END_SESSION);
|
|
|
+ put(RSCConf.Entry.TEST_STUCK_START_DRIVER.key, DepConf.TEST_STUCK_START_DRIVER);
|
|
|
+ put(RSCConf.Entry.JOB_CANCEL_TRIGGER_INTERVAL.key, DepConf.JOB_CANCEL_TRIGGER_INTERVAL);
|
|
|
+ put(RSCConf.Entry.JOB_CANCEL_TIMEOUT.key, DepConf.JOB_CANCEL_TIMEOUT);
|
|
|
+ put(RSCConf.Entry.RETAINED_STATEMENT_NUMBER.key, DepConf.RETAINED_STATEMENT_NUMBER);
|
|
|
+ }});
|
|
|
+
|
|
|
+ // Maps deprecated key to DeprecatedConf with the same key.
|
|
|
+ // There are no deprecated configs without alternatives currently.
|
|
|
+ private static final Map<String, DeprecatedConf> deprecatedConfigs
|
|
|
+ = Collections.unmodifiableMap(new HashMap<String, DeprecatedConf>());
|
|
|
+
|
|
|
+ protected Map<String, DeprecatedConf> getConfigsWithAlternatives() {
|
|
|
+ return configsWithAlternatives;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected Map<String, DeprecatedConf> getDeprecatedConfigs() {
|
|
|
+ return deprecatedConfigs;
|
|
|
+ }
|
|
|
+
|
|
|
+ static enum DepConf implements DeprecatedConf {
|
|
|
+ CLIENT_IN_PROCESS("client.do_not_use.run_driver_in_process", "0.4"),
|
|
|
+ CLIENT_SHUTDOWN_TIMEOUT("client.shutdown_timeout", "0.4"),
|
|
|
+ DRIVER_CLASS("driver_class", "0.4"),
|
|
|
+ SERVER_IDLE_TIMEOUT("server.idle_timeout", "0.4"),
|
|
|
+ PROXY_USER("proxy_user", "0.4"),
|
|
|
+ TEST_STUCK_END_SESSION("test.do_not_use.stuck_end_session", "0.4"),
|
|
|
+ TEST_STUCK_START_DRIVER("test.do_not_use.stuck_start_driver", "0.4"),
|
|
|
+ JOB_CANCEL_TRIGGER_INTERVAL("job_cancel.trigger_interval", "0.4"),
|
|
|
+ JOB_CANCEL_TIMEOUT("job_cancel.timeout", "0.4"),
|
|
|
+ RETAINED_STATEMENT_NUMBER("retained_statements", "0.4");
|
|
|
+
|
|
|
+ private final String key;
|
|
|
+ private final String version;
|
|
|
+ private final String deprecationMessage;
|
|
|
+
|
|
|
+ private DepConf(String key, String version) {
|
|
|
+ this(key, version, "");
|
|
|
+ }
|
|
|
+
|
|
|
+ private DepConf(String key, String version, String deprecationMessage) {
|
|
|
+ this.key = RSC_CONF_PREFIX + key;
|
|
|
+ this.version = version;
|
|
|
+ this.deprecationMessage = deprecationMessage;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String key() { return key; }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String version() { return version; }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String deprecationMessage() { return deprecationMessage; }
|
|
|
+ }
|
|
|
+
|
|
|
}
|