This patch solves the following problem:

- The callback mechanism of the MeterContext is not working properly.

Please note that

When a meter is added successfully (it means we get the first meter-stats reply), DistributedMeterStore must complete the related future.
When the related future is completed, MeterManager calls the MeterContexts' onSuccess() method.
onSuccess() method can be used to solve ordering problems between meter-mods and flow-mods.

Change-Id: Ifed8b317331c05089b90041eaf2d4693c938e117
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
index e4f7465..fa0dea8 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
+++ b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
@@ -475,6 +475,7 @@
                                         (data.meter().state() == MeterState.PENDING_ADD
                                                 || data.meter().state() == MeterState.ADDED)) {
                                     futures.computeIfPresent(key, (k, v) -> {
+                                        v.complete(MeterStoreResult.success());
                                         notifyDelegate(
                                                 new MeterEvent(MeterEvent.Type.METER_ADDED, data.meter()));
                                         return null;