Skip to content

Channels "time" never update / polling never finishes #86

@kingspride

Description

@kingspride

Hello,

I have a question regarding the recceivers' behaviour.

see this excerpt from loglevel debug:

2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Polling begins...
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Find existing channels by IOCID: 10.0.0.15:34980
2024-04-23T01:15:22+0200 [-] DEBUG:urllib3.connectionpool http://localhost:8080 "GET /ChannelFinder/resources/channels?iocid=10.0.0.15%3A34980 HTTP/1.1" 200 None
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Find existing channels by name: FHIFEL:GagePort:Port1_value|FHIFEL:GagePort:Port2_value|FHIFEL:GagePort:Port1_count|FHIFEL:GagePort:Port2_count
2024-04-23T01:15:22+0200 [-] DEBUG:urllib3.connectionpool http://localhost:8080 "GET /ChannelFinder/resources/channels?~name=FHIFEL%3AGagePort%3APort1_value%7CFHIFEL%3AGagePort%3APort2_value%7CFHIFEL%3AGagePort%3APort1_count%7CFHIFEL%3AGagePort%3APort2_count HTTP/1.1" 200 None
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Add existing channel with different IOC: {'name': 'FHIFEL:GagePort:Port1_value', 'owner': 'admin', 'properties': [{'name': 'hostName', 'owner': 'cfstore', 'value': 'fel03'}, {'name': 'iocName', 'owner': 'cfstore', 'value': 'iocGagePort'}, {'name': 'iocid', 'owner': 'cfstore', 'value': '10.0.0.15:34980'}, {'name': 'pvStatus', 'owner': 'cfstore', 'value': 'Active'}, {'name': 'time', 'owner': 'cfstore', 'value': '2024-04-23 01:15:22.941623'}, {'name': 'recceiverID', 'owner': 'cfstore', 'value': 'fel-recceiver'}, {'name': 'recordType', 'owner': 'cfstore', 'value': 'ai'}], 'tags': []}
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Add existing channel with different IOC: {'name': 'FHIFEL:GagePort:Port2_value', 'owner': 'admin', 'properties': [{'name': 'hostName', 'owner': 'cfstore', 'value': 'fel03'}, {'name': 'iocName', 'owner': 'cfstore', 'value': 'iocGagePort'}, {'name': 'iocid', 'owner': 'cfstore', 'value': '10.0.0.15:34980'}, {'name': 'pvStatus', 'owner': 'cfstore', 'value': 'Active'}, {'name': 'time', 'owner': 'cfstore', 'value': '2024-04-23 01:15:22.941623'}, {'name': 'recceiverID', 'owner': 'cfstore', 'value': 'fel-recceiver'}, {'name': 'recordType', 'owner': 'cfstore', 'value': 'ai'}], 'tags': []}
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Add existing channel with different IOC: {'name': 'FHIFEL:GagePort:Port1_count', 'owner': 'admin', 'properties': [{'name': 'hostName', 'owner': 'cfstore', 'value': 'fel03'}, {'name': 'iocName', 'owner': 'cfstore', 'value': 'iocGagePort'}, {'name': 'iocid', 'owner': 'cfstore', 'value': '10.0.0.15:34980'}, {'name': 'pvStatus', 'owner': 'cfstore', 'value': 'Active'}, {'name': 'time', 'owner': 'cfstore', 'value': '2024-04-23 01:15:22.941623'}, {'name': 'recceiverID', 'owner': 'cfstore', 'value': 'fel-recceiver'}, {'name': 'recordType', 'owner': 'cfstore', 'value': 'ai'}], 'tags': []}
2024-04-23T01:15:22+0200 [-] DEBUG:recceiver.cfstore Add existing channel with different IOC: {'name': 'FHIFEL:GagePort:Port2_count', 'owner': 'admin', 'properties': [{'name': 'hostName', 'owner': 'cfstore', 'value': 'fel03'}, {'name': 'iocName', 'owner': 'cfstore', 'value': 'iocGagePort'}, {'name': 'iocid', 'owner': 'cfstore', 'value': '10.0.0.15:34980'}, {'name': 'pvStatus', 'owner': 'cfstore', 'value': 'Active'}, {'name': 'time', 'owner': 'cfstore', 'value': '2024-04-23 01:15:22.941623'}, {'name': 'recceiverID', 'owner': 'cfstore', 'value': 'fel-recceiver'}, {'name': 'recordType', 'owner': 'cfstore', 'value': 'ai'}], 'tags': []}
2024-04-23T01:15:22+0200 [-] INFO:recceiver.cfstore Total channels to update: 4

what I understand that happens is:

  • recceiver server announces presence
  • reccaster client connects
  • client uploads records
  • server checks for existing matching channels in channelfinder, by "iocid".
  • does not find any since the client port changed since last time (iocid contains IP:Port)
  • updates channel completely "update channel with different IOC"
  • client and server keep connection up, and play pingpong
  • nothing else happens.

my question now is:
is it intended that the time, and pvStatus properties never update? why?
I noticed that the debug log states "Polling begins", but never "polling complete", or "update channel with same IOC".
shouldnt the time and pvStatus be regularly updated as some kind of heartbeat, and put a channel "inactive", when a client disconnects / disappears?

For example, I have a couple of channels in my channelfinder marked as active, but they are offline right now. You cant tell from the channelfinder and would assume they are usable.

I need some clarification :D

thanks in advance,
William

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions