-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OPC Publisher Sessions #1923
Comments
Hi @sckrecords, a session to a OPC UA server is established with an endpoint url (opens a single socket per endpoint URL). A server can expose more than 1 endpoint with different configurations. In your case with 4 different endpoint urls, you will end up with 4 sessions with 1 subscription each. If the nodes you configured per endpoint url are available through all 4 endpoints, you could pick one of the 4 and use datasetwriterid to create 4 logical subscriptions on this chosen endpoint (and then have a single session) and then even route them to different outputs if you wanted. If the nodes are only valid in the context of the endpoint url (and thus session) then unfortunately it is not possible. |
@marcschier What more information do I need to supply? |
Oops, sorry, if my answer helps you, we could close this item. But I think the issue here is that you see too many sessions even with 3 endpoint urls, which means there must be more than 4 sessions in this case as well. If that is so, I will leave this open as a bug and we shall investigate. For the latter it would be great to have a supportbundle from this issue, or at least the logs from publisher so we can see what happened. |
@marcschier Thank you, Marc! Please start investigating, since we need to observe 4 endpoints and are unable to do so. Our OC UA Server keeps complaining with "Too many sessions". |
Super, please send me supportbundle.zip or the publisher log of when you hit the error so we can take a look. |
@marcschier Logs will be delivered on 15th (this Thursday). |
No rush. |
Hello @marcschier Here is publisher.log when all four endpoints are configured. It contains the "BadTooManySessions" errors. Thanks + kind regards Manuel |
Hello, |
Hi @RadouaneGaroiaz, of course you cannot connect to the OPC UA Server that is listed in published_nodes.json, since it is an internal host in our company network. :-) |
hello @sckrecords we have the same issue as you in our server, i didn't say that i tried to connect to your company server :) . |
# Changes introduced: - New Namespaces for all projects and simplified code structure. There are now 2 SDK projects, one for the OPC Publisher module, and another for the optional cloud WebAPI companion service. - Ability to run platform (modules, services) "standalone" on the edge #464 - [OPC Discovery] has been included into the OPC Publisher module, the container name must be updated to refer to OPC Publisher. - [OPC Discovery] A new synchronous FindServer API has been added to allow discovery by discovery url through a single API call. - [OPC Twin] has been included into the OPC Publisher module, the container name must be updated to refer to OPC Publisher. - [OPC Twin] we removed the Activate and Deactivate calls. - [OPC Twin] OPC TWIN Method call #996 - Support for opc-twin module api direct method calls with input arguments (not requiring OPC Twin micro services) #1512 - Support for a new TestConnection API to test a connection to a server and receiving detailed error information back. - [OPC Publisher] (breaking change) The publisher id in each message is now always the same value across all writer groups rather than previously where a random guid was used per writer group when a publisher id was not configured. - [OPC Publisher] Several bug fixes for preview 1 (#1964) - [OPC Publisher] DatasetMessage SequenceNumber is now correctly incremented (preview) (#1961) - [OPC Publisher] Enabling using DisplayNames defined for the event fields in pn.json as keys in the payload of dataset messages (#1963) - [OPC Publisher] Request opc server's nodes information #1960 - [OPC Publisher] dotnet publish can be used to build a docker container for OPC Publisher #1949 - [OPC Publisher] Metrics output and log output showing number of sessions currently active (related to #1923) - [OPC Publisher] Added new OPC UA stack which addressess #1937 and latest CVE's - [All micro services] Have been combined into a single WebAPI with the same resource paths as the 2.8 AKS deployment and all-in-one service. - [OPC Registry service] Supervisor, Discoverer entities have been removed, but the API has been layered on top of the publisher entity for backwards compatibiltiy. Do not use these API's anymore. - [OPC Registry service] A new RegisterEndpoint API has been added that calls the new sync FindServer API and adds the result into the registry in one call. - [Telemetry processor] The telemetry and onboarding processors have been integrated into the WebAPI, but only forwards to SignalR. The secondary event hub has been removed. If you need to post process telemetry you must read telemetry data directly from IoT Hub. - Document the diagnostics output and troubleshooting guide #1952 # Stats: * Consolidated down to 1 edge module and 1 optional cloud companion web app. * Maintained 99% of API and even added new capabilities/functionality such as Event and MQTT broker support. * Reduced LOC for shipped binaries by 53% from to 641844 in 2.8.6 to 297144 in 2.9.0 preview 2 * Increased Test coverage (blocks) by around 50% from 51.34% to 76.36%
OPC Publisher 2.9.0-preview2 was just released and has a better implementation of OPC UA Client that s deterministic in the creation of sessions with a server. There is now only 1 session and content of the "ConnectionModel". The connection model is created from the publishednodes.json information. There could still be issues in the OPC UA reference stack that have more than a single session around during reconnect or connect, so we will move this to preview 3 to add validation tests for exactly this scenario. Feedback on 2.9.0 preview 2 though are very welcome. |
Hello,
I am trying to pull four (4) different OPC UA endpoints from one (1) OPC UA server using one instance of OPC Publisher. "published_nodes.json" is attached. Documentation states that OPC Publisher is creating one session per endpoint only:
"A single OPC UA session is opened to the asset (OPC UA server) on demand per endpoint, so the OPC UA server is not overburdened with simultaneous requests, which means the implementation of the OPC Twin module is stateless in respect to the OPC UA connections."
The OPC UA Server that we use allows only four (4) simultaneous sessions.
When I start OPC Publisher with four (4) or three (3) endpoints configured, I receive "Too many sessions". When I start OPC Publisher with two (2) or one (1) endpoint configured, everything works fine.
Could there be a condition, when OPC Publisher opens more than one (1) session to receive data for one (1) endpoint?
Thanks + kind regards
Manuel Schulz
Swiss Federal Railways SBB
published_nodes.json.zip
The text was updated successfully, but these errors were encountered: