edgeCore 4.2.0 Release Notes
edgeCore New Features
External CacheDb Support (MySQL)
- edgeCore CacheDB by default uses H2 InMemory Database, but it can now be configured via local.properties to use MySQL. Note: Filter Transforms will function as defined; however, SQL Transforms may have DB (H2/MySQL) syntax specific use that will require update(s) if / when a change is made on an existing Pipeline Configuration.
- EC-684: At-Rest Encryption: Pipeline Nodes can have ‘encrypt’ setting enabled (this is only supported with MySQL). The ‘encrypt’ flag will be hidden when H2 is configured as the cache database.
- EC-679: Added scriptutil tooling to help identify issues when converting from an H2 cache DB to MySql cache dib (functions, keywords, …). To run this utility you can run: “./edge.sh scriptutil -s ../tomcat/webapps/ROOT/WEB-INF/classes/nashorn/utils/h2SyntaxReport.js -f ../exports/backupFile.zip > usage.out”
- EC-662: When MySQL is enabled, Strings are dynamically sized to match the max size, and Strings greater than the max VarChar size are typed as TEXT. When H2 is enabled, Strings that exceed the max length is typed as CLOB.
- EC-661: added LONG_STRING type to a pipeline, prevented attributes of this type from being indexed.
edgeCore Remote Pipeline
- edgeCore Remote Pipeline requires EMS with 2+ Content/Admin Servers. This enables data jobs to run on a remote edgeCore Pipeline, and allow a second server to connect to that servers pipeline via a Remote edgeCore Connection and Feeds that will poll and read data from the remote producers. Polling will take advantage of notifying whether or not data changes are present.
- Updated to allow configuration of which pipeline nodes are remotely accessible.
- JWT Authentication to allow admin
- EC-637: Added cluster targeting for edgeCore Pipeline Connections. Note: This requires a LoadBalancer to handle targeting the healthy edgeCore remote pipeline. Administrators are able to pick a Cluster or a Single edgeCore Instance registered with EMS.
- EC-636: Added new Credential Type ‘edgeCore API Key’ which is configured to make remote edgeCore Pipeline requests.
- EC-636: Added support to generate ‘API Key’ within the Edit User Dialog. This ‘API Key’ can then be used when connecting from a separate edgeCore Content/Admin server.
- EC-636: Added some logic and associated refactoring for retrieving cluster content URL for a given selection from the list of server from EMS.
- EC-678: Support synchronization of node variables with the remote pipeline. NodeVariables and default values and constraints are affected.
- EC-523: Added direct navigation to open the remote pipeline.
- EC-523: Added ability to list remote producers.
- EC-523: Allow refresh of the list of producers in Remote Producer wizard.
- EC-587: Pipeline service updates to get remotePublish dataset.
- EC-638: Remote Pipeline polling requests implemented a check for data change in REST fetch endpoint – return 304 / not modified when there is no change
- EC-638: Remote Pipeline requests include the edgeCore-clientId header for better job tracing.
Client Performance Updates
- Reduced initial load times of client on initial load and browser refresh. The client app is now broken up into modules; reducing initial load times and content size.
- EC-681: Added loading message when lazy loading a module.
edgeCore Resolved Issues
- EC-608: Added ability to configure where client filters should be displayed allowing an admin to configure which corner of the Visualization where it should be displayed.
- EC-701: Resolved node var update not showing up in pipeline preview.
- EC-681: Renamed manage client filers dialog to select.
- EC-601: Keyboard modifiers added to Table Visualization’s multicolumn sort.
- EC-710: Resolved issue with HTML widget “race” condition; preventing the Html Visualization from loading.
- EC-651: Updated edit node var dialog to make sure all the required fields are marked as such.
- EC-660: Improvement required to fix MySQL syntax problem (double quotes not allowed for selected column names)
- EC-660: Fixed MySQL syntax problems – order by columns also needed back-tics instead of double quotes, use ‘LIMIT N’ syntax instead of ‘TOP N’ as it is more compatible (works for both H2 and MySQL)
- Resolved issue with Map Visualization clustering color not showing.
- EC-664: Added Download and Pull options to Snapshot Command.
- EC-664: Added log statements for when snapshot lookup fails; added option to snapshot list command to specify a cluster name.
- EC-183: If we fall into the logic of trying to parse CSV Dates without knowledge of epoch (seconds) vs epoch in milliseconds we should do a quick check if epoch (seconds) gives a date in the distant future and reload as epoch milliseconds then set the UNITS on the DateAttributeDO to speed up additional record processing.
- EC-183: Ensure CSV data exported by edgeCore that includes the ‘Data Type’ header includes the Date Format (millis) in the header so that it will be processed properly if imported by a new CSV Feed.
- EC-183: Improve logic when processing Date fields as Epoch Seconds vs Epoch Milliseconds. Previously rather than determining the data is in Epoch Milliseconds, the converter would use Epoch Seconds and an incorrect date value in the distant future would be returned.
- EC-708 – Resolved Table Visualization’s Column Visibility dialog with a large set of columns; is not responsive and cuts off the columns and buttons at the bottom in Chrome.
- EC-682: Resolved a client memory leak in cssBind directive.
- EC-682: Resolved console error when switching Visualization ServerAction to a different action type (SQL Action to WebData Action).
- EC-720: Resolved issue where wizard step form validation is no longer showing errors on specific visualization editors.
- EC-519: Updated client to not warn about ‘with’ CTE usage if not H2.
edgeCore Known Issues
Cache Compatibility (MySql / H2)
edgeCore now supports using H2 by default, but the system can be switched to use a MySQL Database as the CacheDB. If an export is restored, any SQL Transforms should be reviewed, as H2 specific query syntax will need to be converted to MySQL syntax. There is a script utility that reports some of these issues, and the script itself can be extended to report which Transforms reference syntax that requires updates.
Custom Login Page Compatibility
Login pages built on versions prior to edgeCore v4.1 are not compatible. An upgrade script is included to help stash custom login pages into ‘static-web/login-pre4.1’ and the customizations will require manual migration to the new default template.
Bootstrap 4 Updates
Due to the significant upgrade to Bootstrap 4, systems with customizations in the following areas should be tested to determine if they will require updates:
HTML Template Visualizations
Example: Glyphicons are no longer included. If you have custom HTML Templates that used them, in v3.11 they will all be empty.
Common Table Expression ‘WITH’ Clauses
edgeCore uses the H2 database in support of the SQL Transforms. SQL that uses Common Table Expression (CTE) ‘WITH’ clauses have been identified as causing two issues.
- Lock Timeouts: Transforms fail to run as temporary tables fail to be cleaned up.
- Memory Leaks: The temporary table results are not being cleaned up properly in all instances, and it will trigger Out Of Memory on the JVM.
- Errors connecting to 3rd party https webdata/webcontent sources.
edgeCore fails to connect over HTTPS to backend data sources. In this case, one likely solution is to enable SNI, this is a global configuration so on some systems it might have the opposite effect.
# — SNI Options; may need to be enabled when connecting to 3rd party https webdata/webcontent sources.
For questions or assistance with this release, please see the support page for contact information.