Skip to content

Commit c0c90aa

Browse files
committed
Allow to remove JMX Reporting through configuration
1 parent da70746 commit c0c90aa

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

spark-cassandra-connector/src/main/scala/com/datastax/spark/connector/cql/CassandraConnectionFactory.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ object DefaultConnectionFactory extends CassandraConnectionFactory {
4040
.setConnectTimeoutMillis(conf.connectTimeoutMillis)
4141
.setReadTimeoutMillis(conf.readTimeoutMillis)
4242

43-
val builder = Cluster.builder()
43+
var builder = Cluster.builder()
4444
.addContactPoints(conf.hosts.toSeq: _*)
4545
.withPort(conf.port)
4646
.withRetryPolicy(
@@ -58,6 +58,8 @@ object DefaultConnectionFactory extends CassandraConnectionFactory {
5858
.setRefreshNodeListIntervalMillis(0)
5959
.setRefreshSchemaIntervalMillis(0))
6060

61+
if (!conf.jmxEnabled) builder = builder.withoutJMXReporting()
62+
6163
if (conf.cassandraSSLConf.enabled) {
6264
maybeCreateSSLOptions(conf.cassandraSSLConf) match {
6365
case Some(sslOptions) builder.withSSL(sslOptions)

spark-cassandra-connector/src/main/scala/com/datastax/spark/connector/cql/CassandraConnectorConf.scala

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ case class CassandraConnectorConf(
2727
connectTimeoutMillis: Int = CassandraConnectorConf.ConnectionTimeoutParam.default,
2828
readTimeoutMillis: Int = CassandraConnectorConf.ReadTimeoutParam.default,
2929
connectionFactory: CassandraConnectionFactory = DefaultConnectionFactory,
30-
cassandraSSLConf: CassandraConnectorConf.CassandraSSLConf = CassandraConnectorConf.DefaultCassandraSSLConf
30+
cassandraSSLConf: CassandraConnectorConf.CassandraSSLConf = CassandraConnectorConf.DefaultCassandraSSLConf,
31+
jmxEnabled: Boolean = true
3132
) {
3233

3334
@transient
@@ -87,6 +88,12 @@ object CassandraConnectorConf extends Logging {
8788
default = 9042,
8889
description = """Cassandra native connection port""")
8990

91+
val JmxEnabledParam = ConfigParameter[Boolean](
92+
name = "spark.cassandra.connection.jmxEnabled",
93+
section = ReferenceSection,
94+
default = true,
95+
description = """Cassandra JMX Reporting""")
96+
9097
val LocalDCParam = ConfigParameter[Option[String]](
9198
name = "spark.cassandra.connection.local_dc",
9299
section = ReferenceSection,
@@ -219,6 +226,7 @@ object CassandraConnectorConf extends Logging {
219226
ConnectionPortParam,
220227
LocalDCParam,
221228
ConnectionTimeoutParam,
229+
JmxEnabledParam,
222230
KeepAliveMillisParam,
223231
MinReconnectionDelayParam,
224232
MaxReconnectionDelayParam,
@@ -254,10 +262,11 @@ object CassandraConnectorConf extends Logging {
254262
hostName <- hostsStr.split(",").toSet[String]
255263
hostAddress <- resolveHost(hostName.trim)
256264
} yield hostAddress
257-
265+
258266
val port = conf.getInt(ConnectionPortParam.name, ConnectionPortParam.default)
259267

260268
val authConf = AuthConf.fromSparkConf(conf)
269+
val jmxEnabled = conf.getOption(JmxEnabledParam.name).map(_.toBoolean).getOrElse(JmxEnabledParam.default)
261270
val keepAlive = conf.getInt(KeepAliveMillisParam.name, KeepAliveMillisParam.default)
262271

263272
val localDC = conf.getOption(LocalDCParam.name)
@@ -312,7 +321,8 @@ object CassandraConnectorConf extends Logging {
312321
connectTimeoutMillis = connectTimeout,
313322
readTimeoutMillis = readTimeout,
314323
connectionFactory = connectionFactory,
315-
cassandraSSLConf = cassandraSSLConf
324+
cassandraSSLConf = cassandraSSLConf,
325+
jmxEnabled = jmxEnabled
316326
)
317327
}
318328
}

0 commit comments

Comments
 (0)