All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.datastax.dse.driver.api.core.metadata.DseNodeProperties Maven / Gradle / Ivy

The newest version!
/*
 * Copyright DataStax, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.datastax.dse.driver.api.core.metadata;

import com.datastax.oss.driver.api.core.Version;
import com.datastax.oss.driver.api.core.metadata.Node;

/** The keys for the additional DSE-specific properties stored in {@link Node#getExtras()}. */
public class DseNodeProperties {

  /**
   * The DSE version that the node is running.
   *
   * 

The associated value in {@link Node#getExtras()} is a {@link Version}). */ public static final String DSE_VERSION = "DSE_VERSION"; /** * The value of the {@code server_id} field in the {@code peers} system table for this node. * *

This is the single identifier of the machine running a DSE instance. If DSE has been * configured with Multi-Instance, the {@code server_id} helps identifying the single physical * machine that runs the multiple DSE instances. If DSE is not configured with DSE Multi-Instance, * the {@code server_id} will be automatically set and be unique for each node. * *

This information is only available if connecting to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is a {@code String}). * * @see DSE * Multi-Instance (DSE Administrator Guide) * @see * server_id (DSE Administrator Guide) */ public static final String SERVER_ID = "SERVER_ID"; /** * The DSE workloads that the node is running. * *

This is based on the {@code workload} or {@code workloads} columns in {@code system.local} * and {@code system.peers}. * *

Workload labels may vary depending on the DSE version in use; e.g. DSE 5.1 may report two * distinct workloads: {@code Search} and {@code Analytics}, while DSE 5.0 would report a single * {@code SearchAnalytics} workload instead. It is up to users to deal with such discrepancies; * the driver simply returns the workload labels as reported by DSE, without any form of * pre-processing (with the exception of Graph in DSE 5.0, which is stored in a separate column, * but will be reported as {@code Graph} here). * *

The associated value in {@link Node#getExtras()} is an immutable {@code Set}. */ public static final String DSE_WORKLOADS = "DSE_WORKLOADS"; /** * The port for the native transport connections on the DSE node. * *

The native transport port is {@code 9042} by default but can be changed on instances * requiring specific firewall configurations. This can be configured in the {@code * cassandra.yaml} configuration file under the {@code native_transport_port} property. * *

This information is only available if connecting the driver to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is an {@code Integer}. */ public static final String NATIVE_TRANSPORT_PORT = "NATIVE_TRANSPORT_PORT"; /** * The port for the encrypted native transport connections on the DSE node. * *

In most scenarios enabling client communications in DSE will result in using a single port * that will only accept encrypted connections (by default the port {@code 9042} is reused since * unencrypted connections are not allowed). * *

However, it is possible to configure DSE to use both encrypted and a non-encrypted * communication ports with clients. In that case the port accepting encrypted connections will * differ from the non-encrypted one (see {@link #NATIVE_TRANSPORT_PORT}) and will be exposed via * this method. * *

This information is only available if connecting the driver to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is an {@code Integer}. */ public static final String NATIVE_TRANSPORT_PORT_SSL = "NATIVE_TRANSPORT_PORT_SSL"; /** * The storage port used by the DSE node. * *

The storage port is used for internal communication between the DSE server nodes. This port * is never used by the driver. * *

This information is only available if connecting the driver to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is an {@code Integer}. */ public static final String STORAGE_PORT = "STORAGE_PORT"; /** * The encrypted storage port used by the DSE node. * *

If inter-node encryption is enabled on the DSE cluster, nodes will communicate securely * between each other via this port. This port is never used by the driver. * *

This information is only available if connecting the driver to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is an {@code Integer}. */ public static final String STORAGE_PORT_SSL = "STORAGE_PORT_SSL"; /** * The JMX port used by this node. * *

The JMX port can be configured in the {@code cassandra-env.sh} configuration file separately * on each node. * *

This information is only available if connecting the driver to a DSE 6.0+ node. * *

The associated value in {@link Node#getExtras()} is an {@code Integer}. */ public static final String JMX_PORT = "JMX_PORT"; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy