-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
None
MetricsCollector misbehaves when all VariantMetricInformation are processed before all BatchLoaded or AllBatchesLoaded events are de-queued.
In that case, following checks are never performed: totalBatches == servedBatches and serverVariants == totalVariants.
In that case, VariantCompleted and PushMessageCompleted events are never fired and PushMessageInformation#servedVariants counter is never equal to PushMessageInformation#totalVariants (which is why UI still shows message is Pending).
There are two solutions:
1) -schedule (or somehow else trigger) collector of BatchLoaded / AllBatchesLoaded events,-
2) refactor metric collection logic so that it is triggered externally in cycles until everything is processed
- this involves new TriggerMetricCollectionQueue that is used to store a "request for metrics processing"
- will allow us to update metrics more efficiently since one update cycle will cover not only several BatchLoaded events but also several VariantMetricInformation events
See diagram for more clarity: https://docs.google.com/drawings/d/12cUrYf7ACLYEoYsIWul2szN3lmQcYFMjjaZDq2fr9qQ/edit?usp=sharing
- is blocked by
-
NEXUS-100 org.wildfly.extras.creaper sync to Central
- Done
- is duplicated by
-
AEROGEAR-6347 MetricsCollector incorrectly counts serverBatches, so the sending process seem to not have finished
- Resolved
- is related to
-
AEROGEAR-6380 WildFly-Swarm launcher (aka fat JARs)
- Closed
- relates to
-
AEROGEAR-6072 UPS Console shows Pending - because servedVariants < totalVariants
- Resolved
-
AEROGEAR-5832 Introduce Status enum for notification delivery status (VariantMetricInformation/PushMessageInformation)
- Closed