Skip to content

Releases: JeffersonLab/epics2web

v1.9.3

11 Mar 17:42
Compare
Choose a tag to compare
  • No need to use new thread on monitor update as we no longer call back into CAJ lib in handlers. Also, we weren't careful about lastDbr ordering (each separate thread could call notify out-of-order).

v1.9.2

10 Mar 14:51
Compare
Choose a tag to compare
  • Another attempt to cleanup close Exceptions from the log. I've removed CA resource cleanup code from session write thread, and various other locations - we now simply rely on the contract with the WebSocket API onClose() method to cleanup CA resources. Avoiding concurrent calls to CAJContext.destroyChannel() looks like a good way to avoid close Exceptions. Other threads still check if the session isOpen(), but no longer try to clean up resources since that is already being handled onClose().

v1.9.1

09 Mar 18:32
Compare
Choose a tag to compare
  • Apply fix #2 to "caget" endpoint (yeah, it was applied to "epics2web/monitor" endpoint, but not "epics2web/caget" and they share the same context!)

v1.9.0

05 Mar 17:18
Compare
Choose a tag to compare
  • CAJ/JCA callbacks now execute in their own thread. It seems callbacks are not re-entrant, which could explain continued Exceptions closing channels. See: #6

v1.8.5

05 Mar 22:29
Compare
Choose a tag to compare

Bug fix release focused on how to handle unreliable IOCs. Addresses #3.

(1) Remove context reset due to unresponsive virtual circuit. Instead simply log exception and rely on CAJ to reconnect later.
(2) On channel reconnect after a disconnect (such as an IOC reboot), don't add another monitor to channel - use original channel monitor as it's still good and adding additional monitors results in duplicate PV updates for clients.
(3) fixed case in which if a client connected to epics2web and requested a channel which happened to be already in state "disconnected" due to IOC down for example then the client would potentially receive a spurious PV update with value null.

v1.8.4

14 Jan 16:59
Compare
Choose a tag to compare

Workaround for deadlock in CAJ/JCA library #2

v1.8.3

08 Jan 21:47
Compare
Choose a tag to compare

Fixed regression with CONTEXT_PREFIX

v.1.8.2

12 Dec 17:22
Compare
Choose a tag to compare

Added support for optionally qualifying application context path with a prefix as to make it easy to deploy multiple instances on unique prefixes on different virtual machines. To use:

  1. Set environment variable CONTEXT_PREFIX=myprefix
  2. Rename epics2web.war to myprefix#epics2web.war and drop in Tomcat webapps directory

v1.8.1

11 Dec 20:14
Compare
Choose a tag to compare

Added dropped-message-counter instead of logging each message dropped, as that floods log file. Dropped messages mean client can't read updates over socket fast enough, and likely mean a client connection is stale / died / just waiting for keepalive timeout before it is closed.

v1.8.0

05 Dec 22:30
Compare
Choose a tag to compare
  • Improved scalability via web socket write queues
  • Improved "unresponsive transport" CAStatus 60 handling
  • CAGet -n option added