Committed by
Gerrit Code Review
DistributedPacketStore: Retry indefinitely if consistent-map operations fail due…
… to concurrent modification exception Change-Id: Ibb9fd6ec65f61077cb8fa7313a350315914ea69d
Showing
1 changed file
with
5 additions
and
5 deletions
... | @@ -68,7 +68,7 @@ public class DistributedPacketStore | ... | @@ -68,7 +68,7 @@ public class DistributedPacketStore |
68 | 68 | ||
69 | private final Logger log = getLogger(getClass()); | 69 | private final Logger log = getLogger(getClass()); |
70 | 70 | ||
71 | - private static final int MAX_BACKOFF = 10; | 71 | + private static final int MAX_BACKOFF = 50; |
72 | 72 | ||
73 | // TODO: make this configurable. | 73 | // TODO: make this configurable. |
74 | private static final int MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; | 74 | private static final int MESSAGE_HANDLER_THREAD_POOL_SIZE = 4; |
... | @@ -177,8 +177,8 @@ public class DistributedPacketStore | ... | @@ -177,8 +177,8 @@ public class DistributedPacketStore |
177 | 177 | ||
178 | private void add(PacketRequest request) { | 178 | private void add(PacketRequest request) { |
179 | AtomicBoolean firstRequest = | 179 | AtomicBoolean firstRequest = |
180 | - retryable(this::addInternal, ConsistentMapException.class, | 180 | + retryable(this::addInternal, ConsistentMapException.ConcurrentModification.class, |
181 | - 3, MAX_BACKOFF).apply(request); | 181 | + Integer.MAX_VALUE, MAX_BACKOFF).apply(request); |
182 | if (firstRequest.get() && delegate != null) { | 182 | if (firstRequest.get() && delegate != null) { |
183 | // The instance that makes the first request will push to all devices | 183 | // The instance that makes the first request will push to all devices |
184 | delegate.requestPackets(request); | 184 | delegate.requestPackets(request); |
... | @@ -205,8 +205,8 @@ public class DistributedPacketStore | ... | @@ -205,8 +205,8 @@ public class DistributedPacketStore |
205 | 205 | ||
206 | private void remove(PacketRequest request) { | 206 | private void remove(PacketRequest request) { |
207 | AtomicBoolean removedLast = | 207 | AtomicBoolean removedLast = |
208 | - retryable(this::removeInternal, ConsistentMapException.class, | 208 | + retryable(this::removeInternal, ConsistentMapException.ConcurrentModification.class, |
209 | - 3, MAX_BACKOFF).apply(request); | 209 | + Integer.MAX_VALUE, MAX_BACKOFF).apply(request); |
210 | if (removedLast.get() && delegate != null) { | 210 | if (removedLast.get() && delegate != null) { |
211 | // The instance that removes the last request will remove from all devices | 211 | // The instance that removes the last request will remove from all devices |
212 | delegate.cancelPackets(request); | 212 | delegate.cancelPackets(request); | ... | ... |
-
Please register or login to post a comment