Committed by
Gerrit Code Review
Fixes NPE in AtomixLeaderElector
Change-Id: I0db39b4e09af10f92fe06ba8c7372994e776a6e2
Showing
1 changed file
with
2 additions
and
4 deletions
| ... | @@ -15,7 +15,6 @@ | ... | @@ -15,7 +15,6 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.store.primitives.resources.impl; | 16 | package org.onosproject.store.primitives.resources.impl; |
| 17 | 17 | ||
| 18 | -import io.atomix.catalyst.util.Listener; | ||
| 19 | import io.atomix.copycat.client.CopycatClient; | 18 | import io.atomix.copycat.client.CopycatClient; |
| 20 | import io.atomix.resource.AbstractResource; | 19 | import io.atomix.resource.AbstractResource; |
| 21 | import io.atomix.resource.ResourceTypeInfo; | 20 | import io.atomix.resource.ResourceTypeInfo; |
| ... | @@ -50,10 +49,9 @@ import com.google.common.collect.Sets; | ... | @@ -50,10 +49,9 @@ import com.google.common.collect.Sets; |
| 50 | public class AtomixLeaderElector extends AbstractResource<AtomixLeaderElector> | 49 | public class AtomixLeaderElector extends AbstractResource<AtomixLeaderElector> |
| 51 | implements AsyncLeaderElector { | 50 | implements AsyncLeaderElector { |
| 52 | private final Set<Consumer<Change<Leadership>>> leadershipChangeListeners = | 51 | private final Set<Consumer<Change<Leadership>>> leadershipChangeListeners = |
| 53 | - Sets.newConcurrentHashSet(); | 52 | + Sets.newIdentityHashSet(); |
| 54 | 53 | ||
| 55 | public static final String CHANGE_SUBJECT = "leadershipChangeEvents"; | 54 | public static final String CHANGE_SUBJECT = "leadershipChangeEvents"; |
| 56 | - private Listener<Change<Leadership>> listener; | ||
| 57 | 55 | ||
| 58 | public AtomixLeaderElector(CopycatClient client, Properties properties) { | 56 | public AtomixLeaderElector(CopycatClient client, Properties properties) { |
| 59 | super(client, properties); | 57 | super(client, properties); |
| ... | @@ -127,7 +125,7 @@ public class AtomixLeaderElector extends AbstractResource<AtomixLeaderElector> | ... | @@ -127,7 +125,7 @@ public class AtomixLeaderElector extends AbstractResource<AtomixLeaderElector> |
| 127 | 125 | ||
| 128 | @Override | 126 | @Override |
| 129 | public synchronized CompletableFuture<Void> removeChangeListener(Consumer<Change<Leadership>> consumer) { | 127 | public synchronized CompletableFuture<Void> removeChangeListener(Consumer<Change<Leadership>> consumer) { |
| 130 | - if (leadershipChangeListeners.remove(listener) && leadershipChangeListeners.isEmpty()) { | 128 | + if (leadershipChangeListeners.remove(consumer) && leadershipChangeListeners.isEmpty()) { |
| 131 | return submit(new Unlisten()).thenApply(v -> null); | 129 | return submit(new Unlisten()).thenApply(v -> null); |
| 132 | } | 130 | } |
| 133 | return CompletableFuture.completedFuture(null); | 131 | return CompletableFuture.completedFuture(null); | ... | ... |
-
Please register or login to post a comment