in cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/data/CassandraDataLayer.java [174:224]
protected CassandraDataLayer(@Nullable String keyspace,
@Nullable String table,
boolean quoteIdentifiers,
@NotNull String snapshotName,
@Nullable String datacenter,
@NotNull Sidecar.ClientConfig sidecarClientConfig,
@Nullable SslConfig sslConfig,
@NotNull CqlTable cqlTable,
@NotNull TokenPartitioner tokenPartitioner,
@NotNull CassandraVersion version,
@NotNull ConsistencyLevel consistencyLevel,
@NotNull String sidecarInstances,
@NotNull int sidecarPort,
@NotNull Map<String, PartitionedDataLayer.AvailabilityHint> availabilityHints,
@NotNull Map<String, BigNumberConfigImpl> bigNumberConfigMap,
boolean enableStats,
boolean readIndexOffset,
boolean useIncrementalRepair,
@Nullable String lastModifiedTimestampField,
List<SchemaFeature> requestedFeatures,
@NotNull Map<String, ReplicationFactor> rfMap,
TimeProvider timeProvider)
{
super(consistencyLevel, datacenter);
this.snapshotName = snapshotName;
this.bridge = CassandraBridgeFactory.get(version);
this.keyspace = keyspace;
this.table = table;
this.quoteIdentifiers = quoteIdentifiers;
this.cqlTable = cqlTable;
this.tokenPartitioner = tokenPartitioner;
this.clusterConfig = initializeClusterConfig(sidecarInstances, sidecarPort);
this.availabilityHints = availabilityHints;
this.sidecarClientConfig = sidecarClientConfig;
this.sslConfig = sslConfig;
this.bigNumberConfigMap = bigNumberConfigMap;
this.enableStats = enableStats;
this.readIndexOffset = readIndexOffset;
this.useIncrementalRepair = useIncrementalRepair;
this.lastModifiedTimestampField = lastModifiedTimestampField;
this.requestedFeatures = requestedFeatures;
if (lastModifiedTimestampField != null)
{
aliasLastModifiedTimestamp(this.requestedFeatures, this.lastModifiedTimestampField);
}
this.rfMap = rfMap;
this.timeProvider = timeProvider;
this.maybeQuoteKeyspaceAndTable();
this.initInstanceMap();
this.startupValidate();
}