You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, MessageTracker and DataUpdater.Server starts can be triggered from two different points: handling a message coming from VerneMQ (called from AMQPDataConsumer) or handling an RPC call (called from RPC.Server).
This causes two problems: first, there's a race condition between the Registry lookup and the call to start for both types of processes. The second problem is that if the MessageTracker process is started from RPC.Server, it uses it as acknowledger, but this does not make sense since the acknowledger is used to ack data messages. This also has the side-effect of AMQPDataConsumer never detecting crashes in MessageTracker, leading to possible stalls in Data Updater Plant queues.
To avoid all these problems, the start of MessageTrackers and DataUpdater.Servers should always be serialized through AMQPDataConsumer.
The text was updated successfully, but these errors were encountered:
Avoid stalling a Data Updater when it is started through an RPC call instead of
being started by AMQPDataConsumer.
Fixastarte-platform#375
Signed-off-by: Riccardo Binetti <riccardo.binetti@ispirata.com>
Currently,
MessageTracker
andDataUpdater.Server
starts can be triggered from two different points: handling a message coming from VerneMQ (called fromAMQPDataConsumer
) or handling an RPC call (called fromRPC.Server
).This causes two problems: first, there's a race condition between the Registry lookup and the call to start for both types of processes. The second problem is that if the
MessageTracker
process is started fromRPC.Server
, it uses it asacknowledger
, but this does not make sense since theacknowledger
is used to ack data messages. This also has the side-effect ofAMQPDataConsumer
never detecting crashes inMessageTracker
, leading to possible stalls in Data Updater Plant queues.To avoid all these problems, the start of
MessageTracker
s andDataUpdater.Server
s should always be serialized throughAMQPDataConsumer
.The text was updated successfully, but these errors were encountered: