Releases: archiver-appliance/epicsarchiverap
2.0.5
Release 2.0.5
After a lot of work a new release of the EPICS Archiver Appliance. Lots of changes have been made and this is a major release, so make sure to test thoroughly before pushing into production. Bug reports are very welcome!
Overview
Breaking Changes
Please note the breaking change:
-
log4j updated to log4j2 (need a new log configuration file)
To migrate, the
log4j.properties
file needs to be changed to alog4j2.xml
file. See an example file in the documentation -
The build process has also been overhauled with a new build tool.
Please see the developers guide and the README for how to use it. Site specific builds should still work, and can now specify a folder outside of the src root.
New Features
-
#193: Field modifiers in pv names
Now you are able to submit a channel name such as PV:Temp.{'dbnd':{'rel':0.1}}
For more information on available field modifiers see the EPICS documentation -
#193: Support for json input of a pv list to more of the api endpoints
The getPVStatus endpoint
now accepts input of the form:
[ {"pv": "PVNAME1"}, {"pv": "PVNAME2"} ]
-
#223: Retrieval Analytics
Adds some information on number of requests on each PV (since last appliance reboot) to the getPVDetails endpoint.
-
#207: Allow each WAR to run on different ip addresses
This means if running each war file in a different docker container, they can all have different ip addresses.
-
#150: Ability to set PV Access or Channel Access as the default protocol
Setting
org.epics.archiverappliance.mgmt.bpl.ArchivePVAction.defaultAccessProtocol
in archappl.properties to PVA or CA changes the default protocl for submitting PVs to be archived. -
#241: The list of aliases now appears in pvDetails endpoint
-
#268 Meta fields returned with GetDataAtTime endpoint (which should be more efficient and get last value before timestamp if no data on timestamp)
-
#260: Option for not looking up the lastKnownTimestamp on appliance startup
Using the parameter
org.epics.archiverappliance.engine.archivePVSonStartup.determineLastKnownEventFromStores
Also adds a parameterorg.epics.archiverappliance.engine.epics.server_ioc_drift_seconds
for an allowed clock drift between IOC and archiver appliance -
#173 + #258: Able redirects in retrieval engine (so appliance doesn't need to copy data to host machine before sending)
Using the parameter
org.epics.archiverappliance.retrieval.DataRetrievalServlet.proxyRetrievalRequest
-
#261: Paused PV count is now cached.
-
#219 A new default theme without any site specific styling
Development changes
- #172: PVAccess library updated to phoebus one
- #149 + #176: Build tool changed to gradle.
- #170: Third party libraries updated
- #243: Documentation now published using read the docs
- #265,#266 Docker builds are now available from github
All changes
- Fix PlainPBFileNameUtilityTest by @jacomago in #145
- Fix for OptimizedPostProcessorTest failing by @jacomago in #147
- Add closing section tag by @jacomago in #148
- Add a setting to make pvAccess or Channel Access the default protocol… by @jacomago in #150
- fix log info message by @jacomago in #152
- Gradle build file and test categorisation by @jacomago in #149
- Add a github workflow to build the project by @jacomago in #151
- Added environment variable to control the name of MySQL DB by @DanielALS in #119
- Ensure PB iterator obeys the iterator protocol. by @willrogers in #45
- Fix load of ARCHAPPL_DB_NAME when it's not set #153 by @jacomago in #154
- Fixes the gradle github actions builds: by @jacomago in #155
- Adds the multi platform provider of web drivers by @jacomago in #156
- Add a GetPVNames button in the GUI #157 by @lcaouen in #159
- Issue#161 by @lcaouen in #162
- Delete multiple PVs by @lcaouen in #160
- Unit test for "Delete multiple PVs" by @lcaouen in #167
- Update depend by @jacomago in #170
- Fixes integration testing by adhoc creating an appliances xml by @jacomago in #171
- Swaps epicsCoreJava pvAccess library for org.phoebus.core-pva by @jacomago in #172
- Redirect single pv retrieval requests by @jacomago in #173
- Add a runner for running the application the same as for the integrat… by @jacomago in #174
- use action-junit-report to see inline test results by @jacomago in #177
- Update quickstart.sh for the log4j2 upgrade by @jacomago in #178
- Timestamp to instant by @jacomago in #181
- Fix PvaGetArchivedPVsTest by checking size of arrays match by @jacomago in #187
- parallel_iocs by @jacomago in #175
- Fixes the Failover tests by @jacomago in #196
- Update double buffer test to junit 5. by @jacomago in #199
- CSSTUDIO-2134 Two bugfixes to
SummaryStatsPostProcessor
and one bugfix and one improvement toOptimized
. by @abrahamwolk in #200 - Remove most of the ant build file by @jacomago in #176
- Makes the PV Metric return the last connected state. by @jacomago in #182
- Add auto formatter for java code by @jacomago in #183
- Use tomcat cors filter instead of manually adding access control header by @jembishop in #186
- Add a file to specify line endings behaviour by @jacomago in #190
- Update gradle wrapper by @jacomago in #198
- Split up the imports list by @jacomago in #205
- Add formatting checks of web code by @jacomago in #201
- Update the documentation to cover formatting and testing by @jacomago in #206
- Ignore intelij files by @jacomago in #213
- Introduce end-of-line normalization by @jacomago in #220
- Retrieval Add ability to use "protocol://pvName" by @jacomago in #215
- Update readme with some quickstart information by @jacomago in https://github.com/archiver-appliance/epi...
1.1.0
JDK 16+/Redundancy
JDK 16+/Redundancy
Starting with this release, we target JDK 16+ for the appliance. This release also has limited support for redundancy. We've been testing this release for a few weeks now and it seems to be stable. Please reach out if you have issues/questions.
JDK 12/Tomcat 9 release
Starting with this release, we target JDK 12+ and Tomcat 9+ for the appliance. We've been testing this combination for a few months now and it seems to be stable. The migration seems reasonably straightforward; but it is a migration and not a simple deployRelease. Please reach out if you have issues/questions.
Fall 2018 Release
This contains a fix for #69.
There is also a fix for some exceptions that were cluttering up the log from the Fall 2018 release.
The viewer also adds support for simple relative dates; for example, http://archiver/retrieval/ui/viewer/archViewer.html?pv=VPIO:IN20:111:VRAW&from=-1w&to=-5d
Oct 2018 Release
Mostly bug fixes.
Many bug fixes in the viewer.
Support for getting data for multiple PV's using POST
Circular proxies - A proxies B; B proxies A.
Please note that the build associated with this release is broken and does not seem to contain the getting data for multiple PV's using POST. Most likely, I uploaded an older build by mistake.
Spring 2018 Release
Mostly bug fixes; please see the release notes for a detailed list.
An initial version of an integrated PVAccess service embedded into the archiver; this is still in an alpha stage.
Upgraded the Hazelcast jar for DLS.
This has been deployed onto production here; but because of the Hz upgrade, we'll flip the pre-release bit after a couple of weeks of monitoring the system.
Fall 2017 release
This release has bug fixes and small features.
The biggest changes are from refactoring the archive PV workflow for Jud; as a result, there is a new archappl.properties entry for the archive PV workflow tick seconds. There is also a new timespan report for Andraz. Invalid nanoseconds from the IOC are also rounded up in a fashion similar to EPICS base.
Initial support for standard automation scripts.
This release has the initial set of changes to facilitate the complete automation of archiver configuration.
The repo https://github.com/slaclab/epicsarchiver_automation has an initial version of Bruce Hill's scripts that we are taking thru testing. This release has some performance fixes to accommodate these scripts.
In addition to the archivePVWorkflowBatchSize in the archappl.properties, there is a new entry abortArchiveRequestInMins (defaulting to a day) that will abort requests for PVs that have not connected for more than a the specifed time.
Fixes for SCAN PV's; abort after timeout
Add the appserver startup Epoch Seconds to the currentlyDisconnected PV's report