JCOP FWWG 6 March 2018
JCOP Framework Working Group Meeting, 6 March 2018
Present: Jonas, Marc B, Pedro A, Rafal K, Piotr G, Matej M, Giulio M. Mariusz S. (BE-ICS);
Chrisophe M.P.(COMPASS), Clara G, Luis C (LHCb), Frank G(CMS), Mateusz L(ALICE), Valeri F.(NA62), Stefan S (ATLAS).
News on WinCC OA and JCOP Framework:
- P009 is the most recent WinCC OA ,3.15 patch (no news about next patch)
- P009 was deployed by all the LHC experiments as well as COMPASS; NA62 stays with patch P003;
it was also deployed in a couple of BE-ICS systems. Update of DSS to patch P009 done on ATLAS, not yet for others.
- As each year, we will organize with ETM a seminar "What's new in WinCC OA 3.16" on 27th of June 2018. Please, book your time.
- WinCC OA User Days 7-9 May in Vienna. Due to problems with CERN anti-spam filters original invitations did not reach us. Resent very recently - please consider registering now.
- JCOP Framework Core 8.1.2 and fwConfigurationDB-8.2.0 announced and available from the Download Pages. Features: fwCore: performance optimizations, fwWebBrowser, new fwExceptionHandlling panel; fwConfigurationDB: performance optimizations (contributed by CMS and PSEN), auto-configuration of DB connection (the topic of this FWWG meeting)
- new fwInstallation tool 8.1.1 is planned to be released soon. First beta released today
- news about fwCAEN (Jonas Arroyo): a panel to migrate addresses from OPC DA to UA being tested. The discussion of CAEN (with request to remove support for old deprecated hardware) will be the topic of the next FWWG.
Main Topic: autoconfiguration of database connection in fwConfigurationDB and new features of CtrlRDBAccess
presented by Pedro Agostinho (BE-ICS)
Comments:
- implement similar autoconfiguration in fwRDBArchiver - should be interesting for CMS and also ATLAS test systems; it might be of some interest for BE-ICS applications. Action: will be scheduled
- new fwDbRunSql() function of CtrlRDBAccess: what would happen in non-blocking mode? It should fetch everything in a blocking way in this very call (fetch all results), and then other calls should still be non-blocking. To be tested/documented. In general the usefulness of this new function acknowledged.
- What is the behaviour of auto-recovered connections in non-blocking mode? Should be tested
- fwDbIsConnectionOpen, should pingServer be set by default to true ? No, to assure compatibility, yet the same functionality could also be expressed in a new function. No connsensus, hence we leave it as is, unless a solid request is raised.
- fwDbIsConnectionOpen with pingServer: check what happens if firewall was raised in the meantime (or network is down, etc) -> would it block or will it return after some timeout with proper cleanup?
- Suggestion that the options should be expressed with an extendable CTRL++ structure; however, no interface to declare classes/structures from CTRL++ API in an easy way at the moment. May be considered in future, as at the moment all the options are called with a single "rdbOption()" function.
- Proposal for resource limitations/quotas on resources such as DB connections, cursors, rows fetched at once (Esp, in the new fwDbRunSql!), number of failed reconnections or time between them. This is to avoid issues such as those encountered by ATLAS recently (crash of a system due to resource and hence memory leak in the DB part of the installation agent). Agreed that this is a reasonable idea, because all other WinCC OA function are usually immune to ant resource leaks.
- A proposal that the resource-preservation quotas should be considered possibly for other control extensions
- A comment that in general resource leaks should be easier to serve correcly in CTRL scripts, as we have exception-based error handling (we could do resource-cleanup in the "finally" block)
- Suggestion on using connection pools. Seems not really applicable, as we do not have real multi-threaded execution in CTRL, and a typical pattern is to use a single dbConnection.
- A concern was raised about what happens if one has asynchronous (non-blocking) execution mode, and many dbcommands in various ctrl threads, still on the same connection. Is it possible at all to create a new command while other is executing? Are all the mechanisms properly interlocked. To be double-tested.
AOB:
- running projects from NFS (in virtual machines, from net-attached storage)? Probably not supported by WinCC OA (where is it documented?) LHCb seems corruptions of projects.
- a comment to above: BE-ICS has been suffering for a long time from "inpage error" crashes on Windows, when a CTRL extension was loaded from a shared network drive on terminal servers. Seems to be a known issue on windows, with no good solution (the only one is to copy the necessary files to the local disk).
- Proposal: initiate the review of the JCOP Framework Conventions, aiming at deprecation of outdated mechanism. A proposal will be prepared by Piotr.
- Initial comment on review/deprecation of old equipment from fwCaen: COMPASS is still using old hw, yet they'd be OK to have it removed (they will maintain the device model themselves, as they already do for some ISEG modules). COMPASS will run after the LS2 for 2021/2022, and likely shut down afterwards.
Next meeting:
- tentatively: 20 March, dedicated to fwCAEN component and migration from OPC-DA to OPC-UA