From 99237fe4b43cac051649e8e29528cb9855b2de6c Mon Sep 17 00:00:00 2001 From: Tejas Lodaya <159110854+tejaslodayadd@users.noreply.github.com> Date: Tue, 19 May 2026 14:17:15 -0700 Subject: [PATCH] CASSANALYTICS-140: Clean up non-ASCII characters in main source JavaDoc and comments Several source files contain non-ASCII characters in JavaDoc and inline comments (micro sign, rightwards arrow, em-dash). javac compiled with the US-ASCII default encoding rejects these with "unmappable character" errors, which the JIRA reproduces. Replace the offenders in src/main/ across the affected modules with ASCII-equivalent JavaDoc: - micro sign 'mu' in time-unit lists in CreateSnapshotRequest, RequestContext, and SidecarClient becomes the HTML entity µs. The 'mu-s' symbol still renders in generated Javadoc HTML but the source is ASCII. - rightwards arrow in AbstractBulkWriterContext and RecordWriter becomes ->. - em-dash in KafkaPublisher becomes --. Test files are intentionally left untouched: their use of the two-dot leader character matches the actual output of Guava's com.google.common.collect.Range#toString and changing it would break the assertions. Patch by Tejas Lodaya for CASSANALYTICS-140 --- .../sidecar/common/request/CreateSnapshotRequest.java | 2 +- .../org/apache/cassandra/sidecar/client/RequestContext.java | 2 +- .../org/apache/cassandra/sidecar/client/SidecarClient.java | 2 +- .../java/org/apache/cassandra/cdc/kafka/KafkaPublisher.java | 2 +- .../spark/bulkwriter/AbstractBulkWriterContext.java | 6 +++--- .../org/apache/cassandra/spark/bulkwriter/RecordWriter.java | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/analytics-sidecar-client-common/src/main/java/org/apache/cassandra/sidecar/common/request/CreateSnapshotRequest.java b/analytics-sidecar-client-common/src/main/java/org/apache/cassandra/sidecar/common/request/CreateSnapshotRequest.java index addccabc9..b2402a3a0 100644 --- a/analytics-sidecar-client-common/src/main/java/org/apache/cassandra/sidecar/common/request/CreateSnapshotRequest.java +++ b/analytics-sidecar-client-common/src/main/java/org/apache/cassandra/sidecar/common/request/CreateSnapshotRequest.java @@ -36,7 +36,7 @@ public class CreateSnapshotRequest extends SnapshotRequest * @param snapshotTTL an optional time to live option for the snapshot (available since Cassandra 4.1+) * The TTL option must specify the units, for example 2d represents a TTL for 2 days; * 1h represents a TTL of 1 hour, etc. Valid units are {@code d}, {@code h}, {@code s}, - * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. + * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. */ public CreateSnapshotRequest(String keyspace, String table, String snapshotName, @Nullable String snapshotTTL) { diff --git a/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/RequestContext.java b/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/RequestContext.java index 21ee18228..6adf7eb53 100644 --- a/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/RequestContext.java +++ b/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/RequestContext.java @@ -411,7 +411,7 @@ public Builder listSnapshotFilesRequest(String keyspace, String tableName, Strin * @param snapshotTTL an optional time to live option for the snapshot (available since Cassandra 4.1+) * The TTL option must specify the units, for example 2d represents a TTL for 2 days; * 1h represents a TTL of 1 hour, etc. Valid units are {@code d}, {@code h}, {@code s}, - * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. + * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. * @return a reference to this Builder */ public Builder createSnapshotRequest(String keyspace, String tableName, String snapshotName, diff --git a/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/SidecarClient.java b/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/SidecarClient.java index 56b3b31c0..c084c4fff 100644 --- a/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/SidecarClient.java +++ b/analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/SidecarClient.java @@ -392,7 +392,7 @@ public CompletableFuture createSnapshot(SidecarInstance instance, * @param snapshotTTL an optional time to live option for the snapshot (available since Cassandra 4.1+). * The TTL option must specify the units, for example 2d represents a TTL for 2 days; * 1h represents a TTL of 1 hour, etc. Valid units are {@code d}, {@code h}, {@code s}, - * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. + * {@code ms}, {@code us}, {@code µs}, {@code ns}, and {@code m}. * @return a completable future for the request */ public CompletableFuture createSnapshot(SidecarInstance instance, diff --git a/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/kafka/KafkaPublisher.java b/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/kafka/KafkaPublisher.java index 740274f50..8a9fc2e3b 100644 --- a/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/kafka/KafkaPublisher.java +++ b/cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/kafka/KafkaPublisher.java @@ -55,7 +55,7 @@ * *

The type parameter {@code V} is the value type accepted by the Kafka producer: * {@code V = GenericData.Record} for schema-registry paths (the Avro-aware serializer handles encoding), - * or {@code V = byte[]} for the no-registry path — see {@link ByteArrayKafkaPublisher}. + * or {@code V = byte[]} for the no-registry path -- see {@link ByteArrayKafkaPublisher}. * * @param the Kafka producer value type */ diff --git a/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/AbstractBulkWriterContext.java b/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/AbstractBulkWriterContext.java index fd2210d0b..447285ff3 100644 --- a/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/AbstractBulkWriterContext.java +++ b/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/AbstractBulkWriterContext.java @@ -59,9 +59,9 @@ * *

Broadcastable wrappers used in BulkWriterConfig: *

    - *
  • {@link IBroadcastableClusterInfo} → reconstructs to {@link CassandraClusterInfo} or {@link CassandraClusterInfoGroup}
  • - *
  • {@link BroadcastableJobInfo} → reconstructs to {@link CassandraJobInfo}
  • - *
  • {@link BroadcastableSchemaInfo} → reconstructs to {@link CassandraSchemaInfo}
  • + *
  • {@link IBroadcastableClusterInfo} -> reconstructs to {@link CassandraClusterInfo} or {@link CassandraClusterInfoGroup}
  • + *
  • {@link BroadcastableJobInfo} -> reconstructs to {@link CassandraJobInfo}
  • + *
  • {@link BroadcastableSchemaInfo} -> reconstructs to {@link CassandraSchemaInfo}
  • *
* *

Implements KryoSerializable with fail-fast approach to detect missing Kryo registration. diff --git a/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/RecordWriter.java b/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/RecordWriter.java index d707a651b..7bf08500b 100644 --- a/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/RecordWriter.java +++ b/cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/RecordWriter.java @@ -393,8 +393,8 @@ private Map getBindValuesForColumns(Map map, Str } // Convert tuples to TupleValue for CQLSSTableWriter - // - Direct tuple columns: Object[] → TupleValue - // - Collections with tuples: List → List (via collection's convertForCqlWriter) + // - Direct tuple columns: Object[] -> TupleValue + // - Collections with tuples: List -> List (via collection's convertForCqlWriter) CqlField field = cqlTable.getField(columnName); if (field != null && columnValue != null) {