From ac9b62ec80da4d68e5d867bde0ceaa73062de444 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 16 May 2022 11:03:29 +0200 Subject: [PATCH] Change RTE to an ISE SpotBugs does not like our throwuign a plain RuntimeException, throw an ISE instead. Change-Id: I1d900144757294df2ebd5b230010cf654372cfcb Signed-off-by: Robert Varga --- .../impl/NtfbenchNonblockingProducer.java | 7 +++---- .../cluster/example/ExampleActor.java | 2 +- .../behaviors/LeaderInstallSnapshotState.java | 2 +- .../dds/AbstractDataStoreClientActor.java | 6 +++--- .../dds/AbstractDataStoreClientBehavior.java | 2 +- .../actors/dds/AbstractProxyTransaction.java | 2 +- .../dds/LocalReadWriteProxyTransaction.java | 5 +++-- .../cluster/datastore/AbstractDataStore.java | 2 +- .../cluster/datastore/CohortEntry.java | 2 ++ .../datastore/ShardCommitCoordinator.java | 2 ++ .../ShardDataTreeListenerInfoMXBeanImpl.java | 4 ++-- .../persisted/AbortTransactionPayload.java | 2 +- .../persisted/CloseLocalHistoryPayload.java | 2 +- .../persisted/CreateLocalHistoryPayload.java | 2 +- .../persisted/DisableTrackingPayload.java | 2 +- .../persisted/PurgeLocalHistoryPayload.java | 2 +- .../persisted/PurgeTransactionPayload.java | 2 +- .../persisted/SkipTransactionsPayload.java | 2 +- .../shardmanager/ShardManagerInfo.java | 11 +++++------ .../utils/DataTreeModificationOutput.java | 4 ++-- .../mbeans/AbstractRegistryMXBean.java | 19 ++++++++++--------- 21 files changed, 44 insertions(+), 40 deletions(-) diff --git a/benchmark/ntfbenchmark/src/main/java/ntfbenchmark/impl/NtfbenchNonblockingProducer.java b/benchmark/ntfbenchmark/src/main/java/ntfbenchmark/impl/NtfbenchNonblockingProducer.java index b0e239c4d4..4b44e1d73d 100644 --- a/benchmark/ntfbenchmark/src/main/java/ntfbenchmark/impl/NtfbenchNonblockingProducer.java +++ b/benchmark/ntfbenchmark/src/main/java/ntfbenchmark/impl/NtfbenchNonblockingProducer.java @@ -28,9 +28,9 @@ public class NtfbenchNonblockingProducer extends AbstractNtfbenchProducer { int ntfOk = 0; int ntfError = 0; ListenableFuture lastOkFuture = null; - for (int i = 0; i < this.iterations; i++) { + for (int i = 0; i < iterations; i++) { try { - final ListenableFuture result = this.publishService.offerNotification(this.ntf); + final ListenableFuture result = publishService.offerNotification(ntf); if (NotificationPublishService.REJECTED == result) { ntfError++; } else { @@ -50,9 +50,8 @@ public class NtfbenchNonblockingProducer extends AbstractNtfbenchProducer { try { lastOkFuture.get(); } catch (InterruptedException | ExecutionException e) { - throw new RuntimeException(e); + throw new IllegalStateException(e); } } } - } diff --git a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java index 17d6f980cd..50eda52aea 100644 --- a/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java +++ b/opendaylight/md-sal/sal-akka-raft-example/src/main/java/org/opendaylight/controller/cluster/example/ExampleActor.java @@ -202,7 +202,7 @@ public class ExampleActor extends RaftActor implements RaftActorRecoveryCohort, try { return new MapState((Map) SerializationUtils.deserialize(snapshotBytes.read())); } catch (IOException e) { - throw new RuntimeException(e); + throw new IllegalStateException(e); } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderInstallSnapshotState.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderInstallSnapshotState.java index cc4caa32eb..e7c76bacbe 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderInstallSnapshotState.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderInstallSnapshotState.java @@ -183,7 +183,7 @@ public final class LeaderInstallSnapshotState implements AutoCloseable { try { snapshotInputStream = snapshotBytes.openStream(); } catch (IOException e) { - throw new RuntimeException(e); + throw new IllegalStateException(e); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java index e5d8abcb62..507f065d49 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java @@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull; import akka.actor.ActorRef; import akka.util.Timeout; +import com.google.common.base.Throwables; import java.util.concurrent.TimeUnit; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.client.AbstractClientActor; @@ -53,10 +54,9 @@ public abstract class AbstractDataStoreClientActor extends AbstractClientActor { try { return (DataStoreClient) Await.result(ExplicitAsk.ask(actor, GET_CLIENT_FACTORY, Timeout.apply(timeout, unit)), Duration.Inf()); - } catch (RuntimeException e) { - throw e; } catch (Exception e) { - throw new RuntimeException(e); + Throwables.throwIfUnchecked(e); + throw new IllegalStateException(e); } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientBehavior.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientBehavior.java index 7187f83a1a..82567c40d9 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientBehavior.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientBehavior.java @@ -195,7 +195,7 @@ abstract class AbstractDataStoreClientBehavior extends ClientActorBehavior modifications) { totalBatchedModificationsReceived++; if (lastBatchedModificationsException == null) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardCommitCoordinator.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardCommitCoordinator.java index 5177f7ed2b..29e254e617 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardCommitCoordinator.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardCommitCoordinator.java @@ -15,6 +15,7 @@ import akka.serialization.Serialization; import com.google.common.annotations.VisibleForTesting; import com.google.common.primitives.UnsignedLong; import com.google.common.util.concurrent.FutureCallback; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; @@ -129,6 +130,7 @@ final class ShardCommitCoordinator { * @param batched the BatchedModifications message to process * @param sender the sender of the message */ + @SuppressFBWarnings(value = "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION", justification = "Replay of captured failure") void handleBatchedModifications(final BatchedModifications batched, final ActorRef sender, final Shard shard) { CohortEntry cohortEntry = cohortCache.get(batched.getTransactionId()); if (cohortEntry == null || cohortEntry.isSealed()) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeListenerInfoMXBeanImpl.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeListenerInfoMXBeanImpl.java index 060c28ae1d..cab0c534ac 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeListenerInfoMXBeanImpl.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeListenerInfoMXBeanImpl.java @@ -58,7 +58,7 @@ final class ShardDataTreeListenerInfoMXBeanImpl extends AbstractMXBean implement return stateCache.get(); } catch (Exception e) { Throwables.throwIfUnchecked(e); - throw new RuntimeException(e); + throw new IllegalStateException(e); } } @@ -67,7 +67,7 @@ final class ShardDataTreeListenerInfoMXBeanImpl extends AbstractMXBean implement private static List getListenerActorsInfo(final Collection actors) { final Timeout timeout = new Timeout(20, TimeUnit.SECONDS); final List> futureList = new ArrayList<>(actors.size()); - for (ActorSelection actor: actors) { + for (ActorSelection actor : actors) { futureList.add(Patterns.ask(actor, GetInfo.INSTANCE, timeout)); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbortTransactionPayload.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbortTransactionPayload.java index 0e34756ced..0931b91ac7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbortTransactionPayload.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbortTransactionPayload.java @@ -62,7 +62,7 @@ public final class AbortTransactionPayload extends AbstractIdentifiablePayload) Await.result( Patterns.ask(shardManager, GetLocalShardIds.INSTANCE, ASK_TIMEOUT_MILLIS), Duration.Inf()); - } catch (RuntimeException e) { - throw e; } catch (Exception e) { - throw new RuntimeException(e); + Throwables.throwIfUnchecked(e); + throw new IllegalStateException(e); } } @@ -80,10 +80,9 @@ final class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfoM try { Await.result(Patterns.ask(shardManager, new SwitchShardBehavior(shardId, state, term), ASK_TIMEOUT_MILLIS), Duration.Inf()); - } catch (RuntimeException e) { - throw e; } catch (Exception e) { - throw new RuntimeException(e); + Throwables.throwIfUnchecked(e); + throw new IllegalStateException(e); } break; case Candidate: diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java index 3619c2264e..5b073e856f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java @@ -54,7 +54,7 @@ public final class DataTreeModificationOutput { output.write(current().node(child).toString().getBytes(StandardCharsets.UTF_8)); output.writeByte('\n'); } catch (IOException e) { - throw new RuntimeException(e); + throw new IllegalStateException(e); } } @@ -78,7 +78,7 @@ public final class DataTreeModificationOutput { NormalizedNodeXMLOutput.toStream(output, data); output.writeByte('\n'); } catch (IOException | XMLStreamException e) { - throw new RuntimeException(e); + throw new IllegalStateException(e); } } } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/mbeans/AbstractRegistryMXBean.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/mbeans/AbstractRegistryMXBean.java index 6bf195d093..a38b8c4d89 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/mbeans/AbstractRegistryMXBean.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/mbeans/AbstractRegistryMXBean.java @@ -13,6 +13,7 @@ import akka.actor.Address; import akka.util.Timeout; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Map; +import java.util.concurrent.TimeoutException; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.common.util.jmx.AbstractMXBean; import org.opendaylight.controller.remote.rpc.registry.AbstractRoutingTable; @@ -45,30 +46,30 @@ abstract class AbstractRegistryMXBean, I> e registerMBean(); } - @SuppressWarnings({"unchecked", "checkstyle:IllegalCatch", "rawtypes"}) + @SuppressWarnings({"unchecked", "rawtypes"}) final T localData() { try { return (T) Await.result((Future) bucketAccess.getLocalData(), timeout); - } catch (Exception e) { - throw new RuntimeException("getLocalData failed", e); + } catch (InterruptedException | TimeoutException e) { + throw new IllegalStateException("getLocalData failed", e); } } - @SuppressWarnings({"unchecked", "checkstyle:IllegalCatch", "rawtypes"}) + @SuppressWarnings({"unchecked", "rawtypes"}) final Map> remoteBuckets() { try { return (Map>) Await.result((Future)bucketAccess.getRemoteBuckets(), timeout); - } catch (Exception e) { - throw new RuntimeException("getRemoteBuckets failed", e); + } catch (InterruptedException | TimeoutException e) { + throw new IllegalStateException("getRemoteBuckets failed", e); } } - @SuppressWarnings({"unchecked", "checkstyle:IllegalCatch", "rawtypes"}) + @SuppressWarnings({"unchecked", "rawtypes"}) final String bucketVersions() { try { return Await.result((Future)bucketAccess.getBucketVersions(), timeout).toString(); - } catch (Exception e) { - throw new RuntimeException("getVersions failed", e); + } catch (InterruptedException | TimeoutException e) { + throw new IllegalStateException("getVersions failed", e); } } } -- 2.36.6