Current LiveView Release Notes

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

New Features

LiveView 10.4.0 adds the following updates and new features:

Improved Performance for Shared Queries Between Clients

Connected LiveView clients can now share queries to improve system performance. See Shared Client Queries for details. As a result, the LVSessionQueries system table now displays a shared query ID.

Loading Resources Now Supported for First-Running LiveView Node

Expanding on the metadata store options introduced in release 10.3.0, LiveView resources can now be stored and loaded into the first running node in a LiveView cluster, whereby all similarly metadata store-configured LiveView nodes in the cluster can take advantage of those resources. See LiveView Metadata Store for details.

LiveView System Table Projection Support Enhanced

All LiveView system tables now support projections with simple expressions, including aliases.

LiveView Table Capability Added

LiveView adds the ability to determine whether a table supports group-by expressions by checking the GROUP_BY_EXPRESSIONS table capability. For more information on this table capability, refer to your LiveView Client API documentation.

New Alert Entitlements Added

LiveView now includes three new configurable privileges to allow specified user roles to perform alert rule actions that were created by themselves, when authentication is enabled. See LiveView Authentication and Authorization for details. The new privileges are:

LiveView Alerting Sample Now Includes Time-based Alert

The LiveView Advanced Alerting Sample now includes a cron-based alert example. See the sample's README for details.

Utility Added to Generate Interfaces

The lv-util command was added to generate a StreamBase interface file on which an EventFlow application can be based for use with a LiveView data table.

The lv-util command assumes the interface generation capability of the previously deprecated lv-server command. See lv-util(1) for details.

Changes in Functionality

Release 10.4.0 does not include additional changes in functionality beyond what is already described in these Release Notes.

Deprecated and Removed Features

This release includes the following deprecations.

LiveView Static Alerts (alert-table-tag) Deprecated

The alert-table element of the lvconf XML specification that supports author-time alert configuration (also referred to as static alerts), is now deprecated and is expected to be removed in a future release.

Deprecated jdbc-table Now Removed

The jdbc-table lvconf XML configuration type, which was previously announced in StreamBase 7.6.8 as deprecated, is now removed. Use an External Server Connection of type JDBC instead.

Migration and Compatibility

This release includes the following migration and compatibility notes.

Vertica 5.1 No Longer Supported as an External JDBC-Compliant Database

When using Vertica as an external JDBC-compliant database, TIBCO recommends using versions 7.0-7.5.5, as detailed on the Supported Configurations page.

Spring Framework Version Upgraded

To avoid potential, known third-party Spring Framework vulnerabilities, LiveView's shipped Spring Framework version was updated to 4.3.17.

.NET Client Advisory

This release addresses an issue where the .NET client API could sometimes incorrectly report a network disconnection to the client. This was fixed such that all disconnections now cause a QueryExceptionEvent. Expect to see additional QueryExceptionEvents when using the .NET API client if you do not close queries before you close the connection.

lv-client Command Line Quote-Escape Parsing Improved

Double-quoting expressions is no longer necessary in most expressions, and no change is required when running existing queries. However, this change can affect existing queries for WHERE expressions containing killpublisher, killquery, killsession, and addalertrule commands.

Previously, some command line expressions needed to be double-quoted. This is no longer necessary.

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‑4675 Node importing alerts does not register the alerts until node is restarted.
Description When LiveView nodes configured using the same metadata store import alerts, those alerts do not register until the node is restarted.
Workaround Restart the importing node.
SB‑44494 Metadata store restriction for clusters containing LiveView and StreamBase fragments.
Description The transactional memory metadata store type is only supported on homogeneous Live Datamart 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.
General Sharing alerts between multiple server instances is problematic.
Description The multiple LiveView server support announced for release 10.3.0 works well for most LiveView and LiveView Web features. However, alerts stored using the multiple server support feature, while accurately stored, do not have a mechanism to determine which LiveView server instance should run the alert.
Workaround If your LiveView application makes extensive use of alerts, run it in a single server configuration.
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.

Resolved Issues

This section provides a list of errors corrected in release 10.4.0 of TIBCO LiveView™. LiveView 10.4.0 inherits all fixes on the 2.2.x release branch through 2.2.5.

Number Resolution
CQS‑4639 Under heavy network load or latency when aggregation marks are enabled by a .NET client, the .NET Client API can experience a disconnect. This was fixed. Note that aggregation marks are disabled by default and are only enabled when a connecting client configures the Aggregation mark capability option.
CQS‑4602 A TLS security regression was fixed such that TLS 1.0 is no longer enabled by default.
CQS‑4593 A bug was fixed which prevented the creation of metadata tables for Oracle and Microsoft SQL Server.
CQS‑4524 The .NET client API could sometimes not correctly report a network disconnection to the client. This was fixed such that all disconnections now cause a QueryExceptionEvent.
CQS‑4441 For LiveView .NET clients, setting ConnectionConfig cc = new ConnectionConfig("someurihere"); cc.UseCompression=false; works and is the default. However, setting ConnectionConfig cc = new ConnectionConfig("someurihere"); cc.UseCompression=true; caused gzip to hang. This was fixed.
SB‑44882 Under certain conditions, a continuous LiveQL query that uses a WHEN clause could cause a null pointer exception. This was resolved.