yifan-c commented on code in PR #146:
URL:
https://github.com/apache/cassandra-analytics/pull/146#discussion_r2471254418
##########
cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/cloudstorage/coordinated/CassandraClusterInfoGroup.java:
##########
@@ -59,17 +61,29 @@
/**
* A group of ClusterInfo. One per cluster.
* The class does the aggregation over all clusters for applicable operations.
+ * <p>
+ * This class is NOT serialized and does NOT have a serialVersionUID.
+ * When broadcasting to executors, the driver extracts information from this
class
+ * and creates a {@link
org.apache.cassandra.spark.bulkwriter.BroadcastableClusterInfoGroup} instance,
+ * which is then included in the {@link
org.apache.cassandra.spark.bulkwriter.BulkWriterConfig}
+ * that gets broadcast.
+ * <p>
+ * This class implements Serializable only because the {@link
org.apache.cassandra.spark.bulkwriter.ClusterInfo}
+ * interface requires it (for use as a field type in broadcast classes), but
instances of this
+ * class are never directly serialized.
*/
public class CassandraClusterInfoGroup implements ClusterInfo,
MultiClusterSupport<ClusterInfo>
{
private static final Logger LOGGER =
LoggerFactory.getLogger(CassandraClusterInfoGroup.class);
- private static final long serialVersionUID = 5337884321245616172L;
-
// immutable
private final List<ClusterInfo> clusterInfos;
- private transient volatile Map<String, ClusterInfo> clusterInfoById;
- private transient volatile TokenRangeMapping<RingInstance>
consolidatedTokenRangeMapping;
+ private final String clusterId;
+ private volatile Map<String, ClusterInfo> clusterInfoById;
+ private volatile TokenRangeMapping<RingInstance>
consolidatedTokenRangeMapping;
+ // Pre-computed values from BroadcastableClusterInfoGroup (only set when
reconstructed on executors)
+ private volatile Partitioner cachedPartitioner;
+ private volatile String cachedLowestCassandraVersion;
Review Comment:
they do not. Removed the modifier.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]