This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 3aa8e56aadd [improve][build] Fix final rawtypes, unchecked, and 
redundant cast warnings (#25420)
3aa8e56aadd is described below

commit 3aa8e56aaddf179b9b630d0906842481b2dd3b04
Author: Matteo Merli <[email protected]>
AuthorDate: Fri Mar 27 15:29:13 2026 -0700

    [improve][build] Fix final rawtypes, unchecked, and redundant cast warnings 
(#25420)
---
 .../java/org/apache/pulsar/client/cli/CmdProduce.java    |  5 +++--
 .../java/org/apache/pulsar/client/impl/ProducerImpl.java | 16 ++++++++++------
 .../impl/PulsarClientSharedResourcesBuilderImpl.java     |  1 +
 .../pulsar/functions/instance/AbstractSinkRecord.java    |  8 ++++++--
 .../pulsar/functions/instance/FunctionResultRouter.java  |  2 +-
 .../pulsar/functions/instance/JavaInstanceRunnable.java  | 14 ++++++++++----
 .../instance/state/BKStateStoreProviderImpl.java         |  1 +
 .../state/PulsarMetadataStateStoreProviderImpl.java      |  1 +
 .../instance/stats/FunctionCollectorRegistryImpl.java    |  6 ++++--
 .../org/apache/pulsar/functions/sink/PulsarSink.java     |  1 +
 .../functions/windowing/WindowFunctionExecutor.java      |  7 +++++--
 .../apache/pulsar/functions/windowing/WindowImpl.java    |  2 +-
 .../windowing/evictors/WatermarkCountEvictionPolicy.java |  1 +
 .../java/org/apache/pulsar/functions/LocalRunner.java    |  1 +
 .../bookkeeper/PulsarLedgerUnderreplicationManager.java  |  1 +
 .../metadata/bookkeeper/PulsarMetadataBookieDriver.java  |  1 +
 .../org/apache/pulsar/websocket/ProducerHandler.java     |  1 +
 17 files changed, 49 insertions(+), 20 deletions(-)

diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/cli/CmdProduce.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/cli/CmdProduce.java
index 9c72cd474cc..69b180eca75 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/client/cli/CmdProduce.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/client/cli/CmdProduce.java
@@ -344,7 +344,8 @@ public class CmdProduce extends AbstractCmd {
                             limiter.acquire();
                         }
 
-                        TypedMessageBuilder message = producer.newMessage();
+                        @SuppressWarnings("unchecked")
+                        TypedMessageBuilder<Object> message = 
(TypedMessageBuilder<Object>) producer.newMessage();
 
                         if (!kvMap.isEmpty()) {
                             message.properties(kvMap);
@@ -359,7 +360,7 @@ public class CmdProduce extends AbstractCmd {
                                 break;
                             case KEY_VALUE_ENCODING_TYPE_SEPARATED:
                             case KEY_VALUE_ENCODING_TYPE_INLINE:
-                                KeyValue kv = new KeyValue<>(
+                                KeyValue<byte[], byte[]> kv = new KeyValue<>(
                                         keyValueKeyBytes,
                                         content);
                                 message.value(kv);
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
index 4119fc8b6ed..fa4b4053758 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
@@ -146,10 +146,12 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
 
     private final CompressionCodec compressor;
 
+    @SuppressWarnings("rawtypes")
     static final AtomicLongFieldUpdater<ProducerImpl> 
LAST_SEQ_ID_PUBLISHED_UPDATER = AtomicLongFieldUpdater
             .newUpdater(ProducerImpl.class, "lastSequenceIdPublished");
     private volatile long lastSequenceIdPublished;
 
+    @SuppressWarnings("rawtypes")
     static final AtomicLongFieldUpdater<ProducerImpl> 
LAST_SEQ_ID_PUSHED_UPDATER = AtomicLongFieldUpdater
             .newUpdater(ProducerImpl.class, "lastSequenceIdPushed");
     protected volatile long lastSequenceIdPushed;
@@ -453,6 +455,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
             }
         }
 
+        @SuppressWarnings("unchecked")
         private void onSendComplete(Throwable e, SendCallback sendCallback, 
MessageImpl<?> msg) {
             long createdAt = (sendCallback instanceof 
ProducerImpl.DefaultSendMessageCallback)
                     ? ((DefaultSendMessageCallback) sendCallback).createdAt : 
this.createdAt;
@@ -851,7 +854,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
     }
 
     @VisibleForTesting
-    boolean populateMessageSchema(MessageImpl msg, SendCallback callback) {
+    boolean populateMessageSchema(MessageImpl<?> msg, SendCallback callback) {
         MessageMetadata msgMetadataBuilder = msg.getMessageBuilder();
         if (msg.getSchemaInternal() == schema) {
             schemaVersion.ifPresent(v -> 
msgMetadataBuilder.setSchemaVersion(v));
@@ -886,7 +889,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
         return true;
     }
 
-    private boolean rePopulateMessageSchema(MessageImpl msg) {
+    private boolean rePopulateMessageSchema(MessageImpl<?> msg) {
         byte[] schemaVersion = schemaCache.get(msg.getSchemaHash());
         if (schemaVersion == null) {
             return false;
@@ -900,7 +903,8 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
         return true;
     }
 
-    private void tryRegisterSchema(ClientCnx cnx, final MessageImpl msg, 
SendCallback callback, long expectedCnxEpoch) {
+    private void tryRegisterSchema(ClientCnx cnx, final MessageImpl<?> msg, 
SendCallback callback,
+                                    long expectedCnxEpoch) {
         if (!changeToRegisteringSchemaState()) {
             return;
         }
@@ -1938,7 +1942,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
                         // Deprecated (PIP-464): This backward-compatible path 
sends old Jackson JsonSchema
                         // format to brokers below protocol v13 (Pulsar < 
2.1). Scheduled for removal in a
                         // future major release.
-                        JSONSchema jsonSchema = (JSONSchema) schema;
+                        JSONSchema<?> jsonSchema = (JSONSchema<?>) schema;
                         schemaInfo = 
jsonSchema.getBackwardsCompatibleJsonSchemaInfo();
                     } else {
                         schemaInfo = schema.getSchemaInfo();
@@ -2560,7 +2564,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
      * Note: Since the current method accesses & modifies {@link 
#pendingMessages}, you should acquire a lock on
      *       {@link ProducerImpl} before calling method.
      */
-    private void recoverProcessOpSendMsgFrom(ClientCnx cnx, MessageImpl 
latestMsgAttemptedRegisteredSchema,
+    private void recoverProcessOpSendMsgFrom(ClientCnx cnx, MessageImpl<?> 
latestMsgAttemptedRegisteredSchema,
                                              boolean failedIncompatibleSchema, 
long expectedEpoch) {
         if (expectedEpoch != this.connectionHandler.getEpoch() || cnx() == 
null) {
             // In this case, the cnx passed to this method is no longer the 
active connection. This method will get
@@ -2572,7 +2576,7 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
         }
         final boolean stripChecksum = cnx.getRemoteEndpointProtocolVersion() < 
brokerChecksumSupportedVersion();
         Iterator<OpSendMsg> msgIterator = pendingMessages.iterator();
-        MessageImpl loopStartAt = latestMsgAttemptedRegisteredSchema;
+        MessageImpl<?> loopStartAt = latestMsgAttemptedRegisteredSchema;
         OpSendMsg loopEndDueToSchemaRegisterNeeded = null;
         boolean pausedSendingToPreservePublishOrderOnSchemaRegFailure = false;
         while (msgIterator.hasNext()) {
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientSharedResourcesBuilderImpl.java
 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientSharedResourcesBuilderImpl.java
index fe9d43dc41e..f8ac98bb862 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientSharedResourcesBuilderImpl.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientSharedResourcesBuilderImpl.java
@@ -59,6 +59,7 @@ public class PulsarClientSharedResourcesBuilderImpl 
implements PulsarClientShare
         }
     }
 
+    @SuppressWarnings("rawtypes")
     static class ThreadPoolResourceConfig extends 
NamedResourceConfig<ThreadPoolConfig> implements ThreadPoolConfig {
         int numberOfThreads = Runtime.getRuntime().availableProcessors();
         boolean daemon = Thread.currentThread().isDaemon();
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/AbstractSinkRecord.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/AbstractSinkRecord.java
index d0e70d67514..1ee6ae3e2d4 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/AbstractSinkRecord.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/AbstractSinkRecord.java
@@ -101,9 +101,13 @@ public abstract class AbstractSinkRecord<T> implements 
Record<T> {
                 // see PIP-85
                 if (record.getMessage().isPresent()
                         && 
record.getMessage().get().getReaderSchema().isPresent()) {
-                    schema = (Schema<T>) 
record.getMessage().get().getReaderSchema().get();
+                    @SuppressWarnings("unchecked")
+                    Schema<T> readerSchema = (Schema<T>) 
record.getMessage().get().getReaderSchema().get();
+                    schema = readerSchema;
                 } else {
-                    schema = (Schema<T>) ((AutoConsumeSchema) 
schema).getInternalSchema();
+                    @SuppressWarnings("unchecked")
+                    Schema<T> internalSchema = (Schema<T>) 
((AutoConsumeSchema) schema).getInternalSchema();
+                    schema = internalSchema;
                 }
             }
             return schema;
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/FunctionResultRouter.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/FunctionResultRouter.java
index f6b4cd829b9..1a44b924386 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/FunctionResultRouter.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/FunctionResultRouter.java
@@ -52,7 +52,7 @@ public class FunctionResultRouter extends 
RoundRobinPartitionMessageRouterImpl {
     }
 
     @Override
-    public int choosePartition(Message msg, TopicMetadata metadata) {
+    public int choosePartition(Message<?> msg, TopicMetadata metadata) {
         // if key is specified, we should use key as routing;
         // if key is not specified and no sequence id is provided, not an 
effectively-once publish, use the default
         // round-robin routing.
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/JavaInstanceRunnable.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/JavaInstanceRunnable.java
index 56dc802affb..7c9685e90d0 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/JavaInstanceRunnable.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/JavaInstanceRunnable.java
@@ -420,7 +420,7 @@ public class JavaInstanceRunnable implements AutoCloseable, 
Runnable {
     }
 
     @VisibleForTesting
-    void handleResult(Record srcRecord, JavaExecutionResult result) throws 
Exception {
+    void handleResult(Record<?> srcRecord, JavaExecutionResult result) throws 
Exception {
         if (result.getUserException() != null) {
             Throwable t = result.getUserException();
             log.warn("Encountered exception when processing message {}",
@@ -481,7 +481,9 @@ public class JavaInstanceRunnable implements AutoCloseable, 
Runnable {
         }
     }
 
-    private OutputRecordSinkRecord 
encodeWithRecordSchemaAndDecodeWithSinkSchema(Record srcRecord, Record record) {
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    private OutputRecordSinkRecord<?> 
encodeWithRecordSchemaAndDecodeWithSinkSchema(
+            Record<?> srcRecord, Record<?> record) {
         AbstractSinkRecord<?> sinkRecord;
         Schema encodingSchema = record.getSchema();
         boolean isKeyValueSeparated = false;
@@ -521,8 +523,8 @@ public class JavaInstanceRunnable implements AutoCloseable, 
Runnable {
         return new OutputRecordSinkRecord(srcRecord, record, decoded, 
finalSchema);
     }
 
-    private Record readInput() throws Exception {
-        Record record;
+    private Record<?> readInput() throws Exception {
+        Record<?> record;
         if (componentType == 
org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType.SOURCE)
 {
             Thread.currentThread().setContextClassLoader(componentClassLoader);
         }
@@ -773,6 +775,7 @@ public class JavaInstanceRunnable implements AutoCloseable, 
Runnable {
         context.updateLoggers();
     }
 
+    @SuppressWarnings({"unchecked", "rawtypes"})
     private void setupInput(ContextImpl contextImpl) throws Exception {
 
         SourceSpec sourceSpec = 
this.instanceConfig.getFunctionDetails().getSource();
@@ -924,6 +927,7 @@ public class JavaInstanceRunnable implements AutoCloseable, 
Runnable {
      * @param secretsProvider - the secrets provider that will convert 
secret's values into config values.
      * @param configs - the connector configuration map, which will be mutated.
      */
+    @SuppressWarnings("unchecked")
     private static void interpolateSecretsIntoConfigs(SecretsProvider 
secretsProvider,
                                                       Map<String, Object> 
configs) {
         for (Map.Entry<String, Object> entry : configs.entrySet()) {
@@ -1024,6 +1028,7 @@ public class JavaInstanceRunnable implements 
AutoCloseable, Runnable {
     }
 
 
+    @SuppressWarnings({"unchecked", "rawtypes"})
     private void setupOutput(ContextImpl contextImpl) throws Exception {
 
         SinkSpec sinkSpec = this.instanceConfig.getFunctionDetails().getSink();
@@ -1097,6 +1102,7 @@ public class JavaInstanceRunnable implements 
AutoCloseable, Runnable {
         }
     }
 
+    @SuppressWarnings("unchecked")
     private static <T> Schema<T> getSinkSchema(Record<?> record, Class<T> 
clazz) {
         SchemaType type = getSchemaTypeOrDefault(record, clazz);
         switch (type) {
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/BKStateStoreProviderImpl.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/BKStateStoreProviderImpl.java
index 5faab27b341..f60bb676b45 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/BKStateStoreProviderImpl.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/BKStateStoreProviderImpl.java
@@ -181,6 +181,7 @@ public class BKStateStoreProviderImpl implements 
StateStoreProvider {
         throw new IOException("Failed to open state table for function " + 
tenant + "/" + namespace + "/" + name);
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public <T extends StateStore> T getStateStore(String tenant, String 
namespace, String name) throws Exception {
         // we defer creation of the state table until a java instance is 
running here.
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/PulsarMetadataStateStoreProviderImpl.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/PulsarMetadataStateStoreProviderImpl.java
index dd2a702e65f..9121fe57d43 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/PulsarMetadataStateStoreProviderImpl.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/state/PulsarMetadataStateStoreProviderImpl.java
@@ -57,6 +57,7 @@ public class PulsarMetadataStateStoreProviderImpl implements 
StateStoreProvider
         }
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public DefaultStateStore getStateStore(String tenant, String namespace, 
String name) throws Exception {
         return new PulsarMetadataStateStoreImpl(store, prefix, tenant, 
namespace, name);
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/stats/FunctionCollectorRegistryImpl.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/stats/FunctionCollectorRegistryImpl.java
index dae3e04ea63..611031474f7 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/stats/FunctionCollectorRegistryImpl.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/instance/stats/FunctionCollectorRegistryImpl.java
@@ -26,9 +26,11 @@ public class FunctionCollectorRegistryImpl extends 
FunctionCollectorRegistry {
 
     private final Map<String, Collector> namesToCollectors = new 
HashMap<String, Collector>();
 
-    public Collector registerIfNotExist(String metricName, Collector 
collector) {
+    @Override
+    public <T extends Collector> T registerIfNotExist(String metricName, T 
collector) {
         synchronized (this) {
-            Collector existingCollector = namesToCollectors.get(metricName);
+            @SuppressWarnings("unchecked")
+            T existingCollector = (T) namesToCollectors.get(metricName);
             if (existingCollector == null) {
                 namesToCollectors.put(metricName, collector);
                 super.register(collector);
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/sink/PulsarSink.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/sink/PulsarSink.java
index da6b8006eb9..dadf401d542 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/sink/PulsarSink.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/sink/PulsarSink.java
@@ -291,6 +291,7 @@ public class PulsarSink<T> implements Sink<T> {
         }
 
         if (sinkRecord.getSourceRecord() instanceof PulsarRecord) {
+            @SuppressWarnings("unchecked")
             PulsarRecord<T> pulsarRecord = (PulsarRecord<T>) 
sinkRecord.getSourceRecord();
             // forward user properties to sink-topic
             msg.property("__pfn_input_topic__", 
pulsarRecord.getTopicName().get())
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowFunctionExecutor.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowFunctionExecutor.java
index 1e492d74aa6..bd3d2dca610 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowFunctionExecutor.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowFunctionExecutor.java
@@ -65,6 +65,7 @@ public class WindowFunctionExecutor<T, X> implements 
Function<T, X> {
         this.start();
     }
 
+    @SuppressWarnings("unchecked")
     private void initializeUserFunction(WindowConfig windowConfig) {
         String actualWindowFunctionClassName = 
windowConfig.getActualWindowFunctionClassName();
         ClassLoader clsLoader = Thread.currentThread().getContextClassLoader();
@@ -75,12 +76,12 @@ public class WindowFunctionExecutor<T, X> implements 
Function<T, X> {
             Class<?>[] typeArgs = TypeResolver.resolveRawArguments(
                     java.util.function.Function.class, 
userClassObject.getClass());
             if (typeArgs[0].equals(Collection.class)) {
-                bareWindowFunction = (java.util.function.Function) 
userClassObject;
+                bareWindowFunction = 
(java.util.function.Function<Collection<T>, X>) userClassObject;
             } else {
                 throw new IllegalArgumentException("Window function must take 
a collection as input");
             }
         } else if (userClassObject instanceof WindowFunction) {
-            windowFunction = (WindowFunction) userClassObject;
+            windowFunction = (WindowFunction<T, X>) userClassObject;
         } else {
             throw new IllegalArgumentException("Window function does not 
implement the correct interface");
         }
@@ -125,6 +126,7 @@ public class WindowFunctionExecutor<T, X> implements 
Function<T, X> {
         return manager;
     }
 
+    @SuppressWarnings("unchecked")
     private TimestampExtractor<T> getTimeStampExtractor(WindowConfig 
windowConfig) {
 
         Class<?> theCls;
@@ -279,6 +281,7 @@ public class WindowFunctionExecutor<T, X> implements 
Function<T, X> {
         return this.timestampExtractor != null;
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public X process(T input, Context context) throws Exception {
         if (!this.initialized) {
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowImpl.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowImpl.java
index de77898b1ce..30d40fea997 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowImpl.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/WindowImpl.java
@@ -79,7 +79,7 @@ public class WindowImpl<T> implements Window<T> {
             return false;
         }
 
-        WindowImpl that = (WindowImpl) o;
+        WindowImpl<?> that = (WindowImpl<?>) o;
 
         if (tuples != null ? !tuples.equals(that.tuples) : that.tuples != 
null) {
             return false;
diff --git 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/evictors/WatermarkCountEvictionPolicy.java
 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/evictors/WatermarkCountEvictionPolicy.java
index 174954d8116..6ebfa77502a 100644
--- 
a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/evictors/WatermarkCountEvictionPolicy.java
+++ 
b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/evictors/WatermarkCountEvictionPolicy.java
@@ -37,6 +37,7 @@ public class WatermarkCountEvictionPolicy<T>
     protected final AtomicLong currentCount;
     private EvictionContext context;
 
+    @SuppressWarnings("rawtypes")
     private static final AtomicLongFieldUpdater<WatermarkCountEvictionPolicy> 
PROCESSED_UPDATER =
             
AtomicLongFieldUpdater.newUpdater(WatermarkCountEvictionPolicy.class, 
"processed");
     private volatile long processed;
diff --git 
a/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
 
b/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
index 1e2d4e0b21b..9401d33f710 100644
--- 
a/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
+++ 
b/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
@@ -598,6 +598,7 @@ public class LocalRunner implements AutoCloseable {
         statusCheckTimer.scheduleAtFixedRate(new TimerTask() {
             @Override
             public void run() {
+                @SuppressWarnings({"unchecked", "rawtypes"})
                 CompletableFuture<String>[] futures = new 
CompletableFuture[spawners.size()];
                 int index = 0;
                 for (RuntimeSpawner spawner : spawners) {
diff --git 
a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarLedgerUnderreplicationManager.java
 
b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarLedgerUnderreplicationManager.java
index bfd9171a391..3e5d59eebe5 100644
--- 
a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarLedgerUnderreplicationManager.java
+++ 
b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarLedgerUnderreplicationManager.java
@@ -100,6 +100,7 @@ public class PulsarLedgerUnderreplicationManager implements 
LedgerUnderreplicati
 
     private static final Pattern ID_EXTRACTION_PATTERN = 
Pattern.compile("urL(\\d+)$");
 
+    @SuppressWarnings("rawtypes")
     private final AbstractConfiguration conf;
     private final String basePath;
     private final String urLedgerPath;
diff --git 
a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarMetadataBookieDriver.java
 
b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarMetadataBookieDriver.java
index 352148d9975..58ecaf7b9cb 100644
--- 
a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarMetadataBookieDriver.java
+++ 
b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarMetadataBookieDriver.java
@@ -39,6 +39,7 @@ public class PulsarMetadataBookieDriver extends 
AbstractMetadataDriver implement
         // cause <clinit> to be invoked
     }
 
+    @SuppressWarnings("rawtypes")
     @Override
     protected void initialize(AbstractConfiguration serverConfiguration) 
throws MetadataException {
         super.initialize(serverConfiguration);
diff --git 
a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ProducerHandler.java
 
b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ProducerHandler.java
index e4fb7d332f7..ca82cc993b0 100644
--- 
a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ProducerHandler.java
+++ 
b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ProducerHandler.java
@@ -421,6 +421,7 @@ public class ProducerHandler extends 
AbstractWebSocketHandler {
         int keysLen = encryptionKeyMap.size();
         final String[] keyNameArray = new String[keysLen];
         final byte[][] keyValueArray = new byte[keysLen][];
+        @SuppressWarnings({"unchecked", "rawtypes"})
         final List<KeyValue>[] keyMetadataArray = new List[keysLen];
         // Format keys.
         int index = 0;

Reply via email to