Current LiveView 10.4.4 Release Notes

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

New Features

LiveView 10.4.4 adds no new LiveView features.

Changes in Functionality

LiveQL Dynamic Aggregation Implementation Restructured

Starting in 10.4.1, the internal LiveQL dynamic aggregation implementation was restructured. 10.4.4 follows on this work to provide more performance improvements and resolve some defects.

LiveView Auth Sample Now Includes Calculated Column Entitlements

The Authentication and Authorization sample now includes the LiveViewTableCCQuery privilege in its configuration. This privilege enables authorized users to perform LiveQL queries using calculated columns which are comma-separated lists of simple StreamBase expressions. The expressions can be arbitrarily complex but can contain no aggregate functions.

Deprecated and Removed Features

Two LiveView Aggregate Functions Deprecated

The following LiveView aggregate functions that can have unbounded memory requirements are now deprecated:

percentile (T column, double pct)
count_distinct (expr)

Note that other LiveView aggregate functions such as lastval, min, unique, and so on use a type of caching to maintain most meaningful state; if the cache becomes exhausted a cache refresh is executed.

Migration and Compatibility

Not applicable to this release.

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.

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.
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‑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.

Resolved Issues

This section provides a list of errors corrected in release 10.4.4 of TIBCO LiveView™ component of TIBCO® Streaming. LiveView 10.4.4 inherits all fixes on the 2.2.x release branch through 2.2.7.

Number Resolution
SB‑46752 Between versions 10.4.1 through 10.4.3 (inclusive), under rare circumstances when an aggregate query experienced an underflow condition just before the entire group was to be removed, the client was ultimately given an update event with initial state values rather than the correct remove event. This was fixed.