Current LiveView 10.6.0 Release Notes

These are the release notes for the TIBCO LiveView™ component of TIBCO® Streaming 10.6.0.

New Features

LiveView 10.6.0 adds the following updates and new features:

New LiveView Perspective Introduced

Studio now includes a LiveView perspective that opens automatically when you run a LiveView fragment in Studio. The perspective has many features of the TIBCO LiveView Desktop™ utility, but integrated with Studio. This provides developers with an automatic and convenient way to view the tables of one or more running LiveView applications, and to perform queries against them.

LiveView Adapters Now Enhanced

This release includes the following LiveView adapter enhancements:

  • The LiveView Create or Drop Table output adapter now includes advanced table creation, retention, and field rule options. The adapter can also send a connection information tuple to status output port, when it successfully connects.

  • When dragged onto the Studio canvas, each LiveView adapter now provides a hyperlink in its Properties view to import proposed schemas for the input port. The exception is the LiveView Ready adapter, which does not contain an input port.

.NET Client API: Various Enhancements

The LiveView .NET Client now supports:

  • REST alert actions.

  • LiveView connections through using statements.

  • Listing current user permissions.

  • Valid 301, 302, 307, and 308 HTTP redirects.

REST Management Interfaces Now Provided

Each running LiveView node now includes a web server that presents REST API web services that support node, engine, and table metrics queries. See Metrics Web Service for more information.

JavaScript Client API Now Includes New Transport Options

The LiveView.connect method now includes two new optional transport properties in the settings object:

  • @param {String} [settings.transport]

  • @param {String} [settings.fallbackTransport]

These are considered advanced settings and should not be changed in most scenarios. For more information, see the JavaScript documentation.

LiveView Data Tables Now Support Semantic Interpretation

LiveView now supports semantic interpretation, which are metadata hints that you can include in the data table configuration. For a timestamp field, you could provide a hint that the column is absolute, for example.

New HOCON Property Supports Table Group Configuration

The LiveView engine configuration file type now includes the tableGroups property to define a group of LiveView servers containing the same set of tables, for high availability. This property replaces the now-deprecated lvconf table group configuration method.

Changes in Functionality

This release includes no new changes in functionality.

Deprecated and Removed Features

LiveView 10.6.0 has the following deprecations.

lvconf Method of Table Group Configuration Now Deprecated

The lvconf configuration method of configuring table groups is now deprecated and expected to be re-purposed in a future release. Instead, use the new HOCON tableGroup property to configure LiveView table groups.

Migration and Compatibility

This release includes no migration and compatibility issues.

LiveView Known Limitations

This page describes the known limitations in the current release of TIBCO LiveView™. Each item includes a tracking number, description, and whenever possible, one or more workarounds.

CQS‑5094, CQS‑5141 Red warning lines in Console when starting LiveView fragments.
Description As a side effect of Release 10.6.0's adoption of JDK 11, the following red warnings appear in the Console when starting a LiveView fragment:

(fragment deploy): WARNING: An illegal reflective access operation has occurred (fragment deploy): WARNING: Illegal reflective access by com.streambase.liveview.client.internal.ws.AbstractLiveViewWebServiceConnection$1 (file:/Applications/Streambase/TIBCO%20Streaming%2010.6.0/distrib/tibco/sb/java/com.tibco.ep.ldm.client.jar) to field sun.net.www.protocol.http.HttpURLConnection.cookieHandler (fragment deploy): WARNING: Please consider reporting this to the maintainers of com.streambase.liveview.client.internal.ws.AbstractLiveViewWebServiceConnection$1 (fragment deploy): WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations (fragment deploy): WARNING: All illegal access operations will be denied in a future release

Workaround None. The warnings do not affect the fragment and are expected to be addressed in a future release.
ClusterAlert Cluster-wide Alert Group Restriction for Heterogeneous Clusters
Description Nodes with only EventFlow engines in LiveView clusters must be in their own alert groups.
Workaround See this page for cluster-wide alerting guidelines.
CQS‑5021 Exception when adding alert rule, yet the alert is actually added.
Description An exception can occur when adding an alert rule on a mapped table, on the front end LiveView server, because the backend table name is different. When this happens, however, the alert is actually added on the mapped front end table name, but is not triggered because that table does not exist on the backend server.
Workaround Set the alert on the underlying table name, not the mapped table name nor table alias visible on the front end server.
SB‑46418 Removing lvweb.war dependency from a project's POM does not remove the file, and vice versa.
Description New LiveView Fragment projects are created by default with a dependency on the lvweb.war file that implements LiveView Web functionality. There are two cases: (1) If you later edit the project's pom.xml file to remove that <dependency> element, doing so does not automatically remove the lvweb.war file from the project's src/main/liveview/lv-user-webapps folder. (2) If you remove the lvweb.war file manually, the pom.xml is not automatically edited to remove the dependency.
Workaround In both cases, you must both remove the lvweb.war file and edit the pom.xml file to remove a project's support for LiveView Web.

The correct way to create a new LiveView project without LiveView Web support is to change the lvweb property to false on the third panel of the File>New>StreamBase Project wizard.

SB‑45720 Failure to independently run or debug EventFlow modules in LiveView projects in 10.4.0 through 10.4.2.
Description Many LiveView projects have StreamBase EventFlow modules that provide functionality such as publishers or transformers of data. In releases 10.4.0, 10.4.1, and 10.4.2, right-clicking such modules and selecting Run As>EventFlow Fragment (or Debug As) to run or debug the module independent of the enclosing LiveView project resulted in an error. This feature was restored in release 10.4.3. Note that this limitation did not prevent running the project as a LiveView fragment with all EventFlow modules working; the limitation was only on running the EventFlow modules by themselves.
Workaround If you are using one of the affected releases, you can;
  • Upgrade to release 10.4.3 or later.

  • Edit the Run Configuration for your EventFlow module, and use the check boxes to disable the configuration file of type com.tibco.ep.ldm.configuration.ldmengine, which is usually named engine.conf or lvengine.conf.

  • If your ldmengine configuration file contains property settings required by your EventFlow module, then create a new EventFlow fragment project, copy in your EventFlow module and all required configuration and resource files, and debug the module there. Copy the module back to your LiveView project when it is debugged and ready.

SB‑44494 Metadata store restriction for clusters containing LiveView and StreamBase fragments.
Description The transactional memory metadata store type is only supported on homogeneous LiveView clusters. This means the cluster cannot contain a mix of LiveView and StreamBase fragments when using a transactional memory metadata store.
Workaround Use either the JDBC or H2 metadata store type when your cluster contains both LiveView and StreamBase fragments.
CQS‑4800 Row level security — authentication not performed on results of already-registered queries and query-based alerts.
Description Row level security (RLS) authentication and authorization is performed at the time when new query-based alerts and queries are registered with the LiveView server. LiveView does not perform authentication on the results of already-registered queries and query-based alerts; in order to get the expected results based on RLS authentication, you must re-register the queries with the server.
Workaround None.
CQS‑4748 Do not use the liveview.project.out system property.
Description The liveview.project.out system property was recommended in previous releases as a way to manage the placement of the LiveView server's compilation working directory. However, if you redirect this working directory in StreamBase 10 applications, the StreamBase application may fail to start correctly.
Workaround None.
CQS‑4641 Issuing queries with literal non-printing characters is not supported in query strings.
Description Query strings with literal non-printing characters can cause issues. Non-printing characters are those below 0x20, excepting tab, carriage return, and line feed. Note that tables and query result sets are free to have any characters as values.
Workaround Instead use StreamBase Unicode escape sequences, which looks like \uXXXX. For example, a bell is \u0007.
CQS‑4467 An aggregate query with HAVING clause and LIMIT specified may throw a Query updates exceeded specified limit error when the number of rows returned are less than the specified LIMIT.
Description When issuing an aggregate query with a HAVING clause and LIMIT applied, returned rows may be less that the specified LIMIT (even none). This is because LIMIT is applied to the rows returned before the HAVING predicate filter.
Workaround If the HAVING predicate is expected to filter a large number of rows, use a very large LIMIT or no LIMIT. For non-aggregate queries with a HAVING and LIMIT, the number of rows you get before getting a Query updates exceeded specified limit is appropriate.
CQS‑3855 Remote data source tables with sole primary key CQSInternalID cannot be opened.
Description When querying a remote data source's tables, all LiveView clients fail to open any remote table that uses a single primary key named CQSInternalID.

This issue affects all LiveView clients, including TIBCO LiveView Desktop, TIBCO LiveView Web, the lv-client command line utility, and any custom client written using LiveView Client APIs.

The issue occurs when querying any remote data source, including: TIBCO StreamBase Query Tables, other LiveView servers, JDBC databases, TIBCO ActiveSpaces tables, and custom table providers.

Workaround You can use one of the following suggestions to enumerate the remote tables that you must avoid. 1. If your client can sort its list of available remote tables, sort it by the Indexes column to isolate the tables that have only CQSInternalID as their primary key. 2. Use the following query to determine the remote tables to avoid opening:
select * from LVTables where Indices=='CQSInternalID'
CQS‑3383 LiveView Desktop can return results into one column instead of several.
Description Under some circumstances, if a query starts, then ends very quickly in an error condition (such as reaching a row limit almost immediately), LiveView Desktop might display the results using a single, unlabeled column, with every data row showing field values separated by commas, rather than displaying them in individual columns.
Workaround Investigate the cause of the error condition and correct it, if possible, perhaps by increasing the row limit value.
CQS‑3355 LiveView Desktop — Newly added table columns do not appear by default in query grid views.
Description When LiveView Desktop has previously been used to query a Data Table, new columns added to the Data Table after the initial query was performed may not appear automatically in subsequent queries.
Workaround There are two workarounds for this issue. The first is to close all open Query Results views and delete the existing queries from your LiveView Tables view. Locate the Delete Recent Queries function in the context menu of the Recent Queries menu item nested under the desired data table in the Tables view. An alternative workaround is to use the context menu of the existing Query Results view and select Columns. Any newly added columns should be present in the Available list in the Column Chooser dialog and can be added to the Chosen column list.
CQS‑3287 LiveView with multiple count_distinct() expressions in one projection can return invalid results.
Description If a Data Table has any case insensitive fields, and a query has a projection with more than one count_distinct() function with identical parameters, the resulting count_distinct values are likely to be incorrect.
Workaround None. It is expected to be very unusual that a projection would have more then one count_distinct() function with identical parameters.
CQS‑2820 Time-windowed predicates not working as expected in author-time aggregation.
Description In author-time aggregation, where you enter a query in an aggregation data table's lvconf definition, the predicate must always start with a simple StreamBase expression that results in a Boolean type. You cannot start with a time-windowed predicate expression such as when transactionTime between now()-minutes(5) and now().
Workaround If you only want a time-windowed expression in the <predicate> element of the lvconf, prefix it with the simple StreamBase expression true. For example:
true when transactionTime between now()-minutes(5) and now()
CQS‑2659 Cannot create destination directory error in LiveView Desktop connection dialog.
Description Start LiveView Desktop. In the initial Connect to LiveView dialog, after selecting a valid LiveView Server's URL, the connection fails with the message Cannot create destination directory.
Workaround The message refers to the local directory used to contain workspaces for LiveView Desktop. Click to open the Advanced Options control, and make sure the Store workspaces in field is not blank. If it is, enter your desired path, or click the Default button. Then try the connection again.
CQS‑1692 Referencing a JDBC table that has not been properly loaded prevents LiveView Server from starting.
Description JDBC tables are not automatically started as part of a LiveView Server project start. This means that if you configure a project with a JDBC table, you must load the database before starting LiveView Server.
Workaround Start the JDBC database before starting LiveView Server.

LiveView Resolved Issues

This section provides a list of errors corrected in release 10.6.0 of the TIBCO LiveView™ component of TIBCO® Streaming.

Fixed in 10.6.0
Number Resolution
TIBCO LiveView™ 10.6.0 incorporates all fixes resolved in the release 10.0 series through 10.5.0 and all fixes resolved in the release 2.2 series through 2.2.8.
SB‑48707 In previous releases, when using the New LiveView Data Table wizard (including when that wizard called by the New LiveView Fragment wizard) it was possible to click Next to proceed through the steps without assigning a primary key for the table. Starting with this release, you must assign a primary key for every LiveView data table.
SB‑48201 A regression was introduced in 10.5 where the covariancep aggregate function would fail with a do_print not found error. This was fixed.