* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.controller.cluster.sharding;
import static akka.actor.ActorRef.noSender;
import akka.actor.ActorRef;
import akka.actor.Status;
-import javax.annotation.Nullable;
-import javax.annotation.concurrent.NotThreadSafe;
+import org.eclipse.jdt.annotation.Nullable;
/**
- * Base class for lookup tasks. Lookup tasks are supposed to run repeatedly
- * until successful lookup or maximum retries are hit.
+ * Base class for lookup tasks. Lookup tasks are supposed to run repeatedly until successful lookup or maximum retries
+ * are hit. This class is NOT thread-safe.
*/
-@NotThreadSafe
+@Deprecated(forRemoval = true)
abstract class LookupTask implements Runnable {
private final int maxRetries;
private final ActorRef replyTo;
- private int retries = 0;
+ private int retried = 0;
LookupTask(final ActorRef replyTo, final int maxRetries) {
this.replyTo = replyTo;
abstract void reschedule(int retries);
- void tryReschedule(@Nullable final Throwable throwable) {
- if (retries <= maxRetries) {
- retries++;
- reschedule(retries);
+ void tryReschedule(final @Nullable Throwable throwable) {
+ if (retried <= maxRetries) {
+ retried++;
+ reschedule(retried);
} else {
fail(throwable);
}
}
- void fail(@Nullable final Throwable throwable) {
+ void fail(final @Nullable Throwable throwable) {
if (throwable == null) {
replyTo.tell(new Status.Failure(
new DOMDataTreeShardCreationFailedException("Unable to find the backend shard."