Current LiveView 10.4.3 Release Notes

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

New Features

LiveView 10.4.3 adds the following updates and new features:

New Connectivity Wizard

A new connectivity wizard available in Studio allows you to quickly stand up a LiveView server application for purposes of streaming live data to TIBCO Spotfire® X. You can use the wizard to configure a LiveView table to collect a window of streaming data from selected data sources, including:

  • Apache Kafka

  • JMS or TIBCO EMS

  • MQTT – MQ Telemetry Support

  • StreamBase Feed simulation

The connectivity wizard is available in Studio's File menu. The wizard is largely self-documenting; see starting point documentation in the Concepts Guide on the Connectivity Wizard page.

Auto-increment Option Now Added to LiveView Table Primary Key Field

LiveView tables can now specify a long data type, primary key field as an auto-increment field. The field remains like any other, excepting when rows are published to the table, the auto-increment field in the published row is ignored and an incrementing value substituted.

This effectively means the table will always add a new row on publish; updates to existing rows are not possible. Since primary keys can be multiple fields, you can use an autoincr field in combination with a timestamp field and guarantee that every arriving tuple is added as a new row, even if the timestamps happen to be the same for multiple rows.

You can still delete rows through the publish path; in the delete case the field defined as auto-increment is not ignored and must be set to a matching value in the table.

In this release, enable the auto-increment feature by editing your data table's lvconf file in XML source mode to add the autoincr attribute to a primary key. For example:

<primary-key>
  <field ref="SequenceNumber" autoincr="true"/>
</primary-key>

Support for this feature in Studio's forms-based LiveView Configuration File Editor is expected in an upcoming release.

LiveView MQTT Recovery Publisher Sample Now Added

A new LiveView recovery publisher sample is now available. The sample demonstrates how data can be recovered and published to a LiveView table via an MQTT message bus.

Changes in Functionality

This release includes the following changes in functionality.

LiveView Authentication and Authorization Sample Now Includes Optional LDAP Configuration

The LiveView Authentication Sample now includes optional, commented-out LDAP configuration.

LiveView .NET Client API Updated

The .NET Client API was updated to include all current LiveView capabilities. For more information see .NET Client API documentation.

Deprecated and Removed Features

Not applicable to this release.

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.

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.
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‑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.3 of TIBCO LiveView™ component of TIBCO® Streaming. LiveView 10.4.3 inherits all fixes on the 2.2.x release branch through 2.2.7.

Number Resolution
CQS‑4798 In rare circumstances when an ORDER BY query result set had rows removed by a delete query — and when there were no continuous updates occurring — the expected LIMIT number of rows was sometimes not replenished. This resulted in smaller than expected result sets.
SB‑46335 In releases 10.4.0, 10.4.1, and 10.4.2, right-clicking an EventFlow module in a LiveView project 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 starting in release 10.4.3.
SB‑46276 Since release 10.4.1, when LiveQL aggregate queries experienced underflow conditions, it was possible for subsequent add and remove events to be missed. This was fixed.