in cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/data/CassandraDataLayer.java [645:688]
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
LOGGER.warn("Falling back to JDK deserialization");
this.bridge = CassandraBridgeFactory.get(CassandraVersion.valueOf(in.readUTF()));
this.snapshotName = in.readUTF();
this.keyspace = readNullable(in);
this.table = readNullable(in);
this.sidecarClientConfig = Sidecar.ClientConfig.create(in.readInt(),
in.readInt(),
in.readLong(),
in.readLong(),
in.readLong(),
in.readLong(),
in.readInt(),
in.readInt(),
(Map<FileType, Long>) in.readObject(),
(Map<FileType, Long>) in.readObject());
this.sslConfig = (SslConfig) in.readObject();
this.cqlTable = bridge.javaDeserialize(in, CqlTable.class); // Delegate (de-)serialization of version-specific objects to the Cassandra Bridge
this.tokenPartitioner = (TokenPartitioner) in.readObject();
this.clusterConfig = (Set<SidecarInstanceImpl>) in.readObject();
this.availabilityHints = (Map<String, AvailabilityHint>) in.readObject();
this.bigNumberConfigMap = (Map<String, BigNumberConfigImpl>) in.readObject();
this.enableStats = in.readBoolean();
this.readIndexOffset = in.readBoolean();
this.useIncrementalRepair = in.readBoolean();
this.lastModifiedTimestampField = readNullable(in);
int features = in.readShort();
List<SchemaFeature> requestedFeatures = new ArrayList<>(features);
for (int feature = 0; feature < features; feature++)
{
String featureName = in.readUTF();
requestedFeatures.add(SchemaFeatureSet.valueOf(featureName.toUpperCase()));
}
this.requestedFeatures = requestedFeatures;
// Has alias for last modified timestamp
if (this.lastModifiedTimestampField != null)
{
aliasLastModifiedTimestamp(this.requestedFeatures, this.lastModifiedTimestampField);
}
this.rfMap = (Map<String, ReplicationFactor>) in.readObject();
this.initInstanceMap();
}