Azure / Industrial-IoT

Azure Industrial IoT Platform
MIT License
527 stars 214 forks source link

Publisher module create 2 different subscriptions with one config #2349

Closed AnhNguyenDaenet closed 2 months ago

AnhNguyenDaenet commented 2 months ago

Recently, we encountered a problem that affected our production system. At some point in time, we started receiving duplicated OPC UA messages. The difference of messages we received is only 100ms and a big gap of sequence number:

image

When I check the publisher module logs, I saw that the module created 2 subscriptions with for the same endpoint, same DataWriterId as shown here

image image

This is the diagnostic log of these 2 subscriptions:

[2024-09-20 08:59:13.738 INF Microsoft.Azure.IIoT.OpcUa.Edge.Publisher.Engine.DataFlowProcessingEngine] 
  DIAGNOSTICS INFORMATION for          : opc.tcp://192.168.10.5:4840/_C68C2A04_opc.tcp://192.168.10.5:4840
  # Ingestion duration                 :    00:02:59:59 (dd:hh:mm:ss)
  # Ingress DataChanges (from OPC)     :            969 (All time ~0.09/s; 00 in last 60s ~0/s)
  # Ingress ValueChanges (from OPC)    :          7,980 (All time ~0.74/s; 00 in last 60s ~0/s)
  # Ingress BatchBlock buffer size     :              0
  # Encoding Block input/output size   :              0 | 0
  # Encoder Notifications processed    :          7,908
  # Encoder Notifications dropped      :              0
  # Encoder IoT Messages processed     :            968
  # Encoder avg Notifications/Message  :              8
  # Encoder avg IoT Message body size  :          4,944 (2%)
  # Encoder avg IoT Chunk (4 KB) usage :            1.2
  # Estimated IoT Chunks (4 KB) per day:         15,488
  # Outgress Batch Block buffer size   :              0
  # Outgress input buffer count        :              0
  # Outgress input buffer dropped      :              0
  # Outgress IoT message count         :            968 (0.09/s)
  # Connection retries                 :              0
  # Opc endpoint connected?            :           True
  # Monitored Opc nodes succeeded count:             72
  # Monitored Opc nodes failed count   :              0

[2024-09-20 08:58:50.555 INF Microsoft.Azure.IIoT.OpcUa.Edge.Publisher.Engine.DataFlowProcessingEngine] 
  DIAGNOSTICS INFORMATION for          : opc.tcp://192.168.10.5:4840/_C68C2A04_opc.tcp://192.168.10.5:4840
  # Ingestion duration                 :    00:00:55:00 (dd:hh:mm:ss)
  # Ingress DataChanges (from OPC)     :            169 (All time ~0.05/s; 00 in last 60s ~0/s)
  # Ingress ValueChanges (from OPC)    :          1,372 (All time ~0.42/s; 00 in last 60s ~0/s)
  # Ingress BatchBlock buffer size     :              0
  # Encoding Block input/output size   :              0 | 0
  # Encoder Notifications processed    :          1,372
  # Encoder Notifications dropped      :              0
  # Encoder IoT Messages processed     :            169
  # Encoder avg Notifications/Message  :              8
  # Encoder avg IoT Message body size  :          4,909 (2%)
  # Encoder avg IoT Chunk (4 KB) usage :            1.2
  # Estimated IoT Chunks (4 KB) per day:          8,849
  # Outgress Batch Block buffer size   :              0
  # Outgress input buffer count        :              0
  # Outgress input buffer dropped      :              0
  # Outgress IoT message count         :            169 (0.05/s)
  # Connection retries                 :              0
  # Opc endpoint connected?            :           True
  # Monitored Opc nodes succeeded count:             72
  # Monitored Opc nodes failed count   :              0

Enclosed here are full logs file at the time problem happened and the configuration saved in CosmosDb:

cosmosDb.txt FITS4U_GW_6201_publisher_Logs.txt

marcschier commented 2 months ago

Unfortunately 2.8 and in particular orchestrated Mode are no longer supported. Please see https://github.com/Azure/Industrial-IoT?tab=readme-ov-file#supported-releases-and-support-policy for more info. The latest version is 2.9.11.