Live Datamart Resolved Issues

The following tables list resolved issues for each TIBCO® Live Datamart release.

Fixed in Live Datamart 2.2.2

TIBCO® Live Datamart 2.2.2 is a maintenance release with updates and enhancements as described in its New and Noteworthy document. Live Datamart 2.2.2 inherits all fixes on the 2.1.x release branch through 2.1.8.

Number Resolution
CQS‑4059 The LiveView Publisher wizard could create a broken publisher. This was corrected.
CQS‑4224 The LiveView server's System Table log files that are created in a directory name lv-profile in the Studio project's out directory are now automatically pruned.
CQS‑4157 LiveView Desktop was updated to provide support for sending the LiveView username and session ID with send tuple actions.
CQS‑3604 The LVconf Editor was updated to allow <table-delete-rule> elements.

Fixed in Live Datamart 2.2.1

TIBCO® Live Datamart 2.2.1 is a maintenance release with updates and enhancements as described in its New and Noteworthy document. Live Datamart 2.2.1 inherits all fixes on the 2.1.x release branch through 2.1.8, all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑4083 The LiveView JavaScript API was forcibly using the path /lv/streaming when connecting to LiveView Server for updates. This URL setting provided during connect() operations was not correctly leveraged to generate the proper transport URL. This was corrected.
CQS‑4069, CQS‑4057, CQS‑4037 If an alert's QueryConfig was set with a query string, it was silently ignored and the alerts were not set properly as expected. This was fixed.
CQS‑4061 In some cases, a cron alert could be set without any authorization specified. The issue was resolved; when setting permissions for cron-based alerts (as opposed to query-based alerts), only cron keyword and one of the operation settings are considered. The third setting, the table name, is ignored for cron alerts.
CQS‑4009 In previous releases, it was possible when using the dynamic table creation API to use a LiveView reserved word as the name of a new table. This was corrected such that reserved words are prohibited for dynamically created table names.
CQS‑3859 Issues with timestamp fields in JDBC tables were fixed.
CQS‑3860 This releases fixes an issue that improves support for the JDBC CLOB data type.

Fixed in Live Datamart 2.2.0

TIBCO® Live Datamart 2.2.0 is a maintenance release with updates and enhancements as described in its New and Noteworthy document. Live Datamart 2.2.0 inherited all fixes on the 2.1.x release branch through 2.1.7, all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3713 An error caused lv://localhost/ to emit a 404 error. The URI now supports IDN and several bugs were fixed regarding URI handling. Also, the connection signature changed compared to Live Datamart 2.1.x and your signature may require upgrading.

Fixed in Live Datamart 2.1.8

TIBCO® Live Datamart 2.1.8 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.8 inherits all fixes on the 2.0.x release branch through 2.0.6.

Number Resolution
SB‑30498 Under certain conditions and loads, multiple LiveView client publishers on the same connection could cause an error and the connection would close with an exception. This issue was fixed. Note that there was never a problem if there were a single publisher on the connection.
CQS‑4058, CQS‑4046 When setting alert rules, any QueryConfig setQuery* values have always been ignored. Setting an alert rule with such a QueryConfig object now throws an exception (when using either the Java or .NET API). Instead, use individual setter methods to build the alert QueryConfig object.
CQS‑4039 If an alert is configured with an aggregate condition and that aggregate condition returns a null value, the alert was incorrectly disabled. This was fixed so that null values are accepted and the alert condition continues to be monitored.
CQS‑3947, CQS‑3702 An issue can cause LiveView clients to hang indefinitely when attempting to connect to a LiveView server. To resolve this issue, internal RESTful LiveViewClient network read operations are now configured to time out if not completed in five minutes. Internal RESTful reads are expected to complete quickly, so this timeout would only be hit in egregious situations.

The read timeout is configurable with the liveview.read.timeout.millis property with a default of 5*60*1000 = 300000. An additional timeout configuration is available that changes how long the client waits for a basic network connection to the remote node.

Again, this timeout is unlikely to be hit unless there is a serious network problem (such as network segmentation). The connection timeout is configurable with: liveview.connection.start.timeout.millis with a default of 30*1000 = 30000.

Fixed in Live Datamart 2.1.7

TIBCO® Live Datamart 2.1.7 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.7 inherits all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3848 Queries to tables with snapshot-parallelism greater than 1 could emit extra SNAPSHOTOVERLIMIT messages if the query was not an order-by query, it had a row limit, and the row limit was hit. LiveView clients would never see these messages, but they could be sent over the network. This issue was fixed.
CQS‑3824 When using the liveview.project.out system property to redirect all LiveView generated files and also using the lv-server -f option to specify an alternate sbconf file name, it was possible that some user EventFlow or interface files could not be found and the server would fail to start. This was fixed.
CQS‑3818 The AlertRule newLVPUblishAlertAction public API name was changed to correct the case. It is now newLVPublishAlertAction.
CQS‑3789 Enabling an action on a new alert before saving the alert in the Live Datamart Monitor web application would create an extra alerts in some cases. This was fixed, such that enabling the action now requires clicking Save first.
CQS‑3785 Release 2.1.7 corrects an issue where the JavaScript getSbStreams API incorrectly returned full stream names without regard to the origin URI. For example, retrieving a stream from sb://localhost/ContainerName would still include ContainerName in the stream name (that is, ContainerName.StreamOne). Now, for example, if you get the stream from sb://localhost, the API returns ContainerName.StreamOne, and if you get it from sb://localhost/ContainerName it returns StreamOne.
CQS‑3784 Upon creating certain alert types using the Live Datamart Monitor web application, an issue caused an alert rule with "id=0" to be created that could not be deleted. This was fixed.
CQS‑3780 The Web UI used to configure time-based alerts could generate incorrect cron string expressions when using the repeat every time unit builder. This was fixed.
CQS‑3754 Configuring an alert rule in the Live Datamart Monitor web application would fail to generate an alert key. This was fixed.
CQS‑3384 Under certain rare high session disconnection rates, a random session could become invalid and that session would have to reconnect. This was fixed.

Fixed in Live Datamart 2.1.6

TIBCO® Live Datamart 2.1.6 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.6 inherits all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3776, CQS‑3659 When using the Web interface to configure Cron-based alerts, and you are using Cron expressions, the web interface will re-write the cron expression with the default string if you make and save any changes to the alert. This was fixed.
CQS‑3743 The LVSessionQueries Table did not have a means to query for limits. The LVSessionQueries Table now includes LIMIT clause in the PredicateExpression column for queries having LIMIT clause in them.
CQS‑3734 With authentication enabled, attempts to stop the Live Datamart Server left behind a process that must be manually killed in order to start up a new project. In 2.1.6, authentication credentials used to start the process are passed to the shutdown request. If they fail, then you are prompted for credentials.
CQS‑3732 In some instances, lv-server generate created a broken publisher interface when more than one table with Custom ID generation is specified. Interface generation for tables with custom ID generation was changed in 2.1.6. The custom ID generation schemas are now placed in the custom ID sbint file instead of the table schema sbint file.
CQS‑3726 The LiveView EMS recovery sample had become out of date and would not start or run correctly. This was fixed.
CQS‑3722 An issue occurred in the CountIf() function upgrade when upgrading from the deprecated Static Aggregation tool to the Author-Time Aggregation tool. This was fixed.
CQS‑3716 Under certain rare conditions a LiveViewPublisher client could hang when its LiveViewConnection was being shut down by another thread. This was fixed.
CQS‑3698 When using the Workbook Viewer feature of TIBCO LiveView Desktop™ to open and use a workbook created by DataWatch Desktop, there is a Create PDF Report button on the far right of the toolbar for this viewer. That button required a library shipped with DataWatch Desktop, iText-version.jar, that was no longer shipped with LiveView Desktop. 2.1.6 now ships with a new JAR file, MPL 1.1, iText-4.2.0.jar.
CQS‑3689 When logging out or disconnecting, WebSocket connections could leak threads. This was fixed.
CQS‑3658 LiveView Publishers and Applications were being compiled with an overridden StreamBase datadir parameter. This only affects StreamBase disk-based Query Tables. This override was removed and the StreamBase configured datadir will be whatever the StreamBase is configured to use.
CQS‑3593 Prior to 2.1.6, Cross-origin resource sharing (CORS) was enabled by default and any host could potentially connect to LiveView. 2.1.6 adds the ability to configure CORS support via the liveview.server.allowedOrigins property.
SB‑29699 The LiveView Create/Drop table adapter command, CreateStart does not create the requested table successfully and returns an error after the timeout period. This was fixed.

Fixed in Live Datamart 2.1.5

TIBCO® Live Datamart 2.1.5 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.5 inherited all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3707 When using the Workbook Viewer feature of TIBCO LiveView Desktop™ to open and use a workbook created by DataWatch Desktop, there is a Create PDF Report button on the far right of the toolbar for this viewer. That button requires a library shipped with DataWatch Desktop, iText-version.jar, that is no longer shipped with LiveView Desktop. You can obtain this JAR file from https://github.com/ymasory/iText-4.2.0.
CQS‑3699 Live Datamart has long supported both server-level and project-level user web applications, but if the same WAR file was in both locations, an issue allowed both WAR files to load. As of this release, any project-level web application has higher precedence over a server-level web application, if both types are present.
CQS‑3676 An issue caused connections to fail if the USERNAME environment variable was set to an empty string. Release 2.1.5 fixes the URI parsing to support existing as well as empty parameters. This prevents throwing errors when USERNAME is empty.
CQS‑3671 The deprecated Static Aggregation feature had a rare issue when removing a group which had been previously modified within the conflation publish period. It was possible for an initial value row to remain in the Static Aggregation table, when it should have been removed. This was fixed.
CQS‑3541 The order of LiveView's internal control fields on a table's DataIn stream appeared in a different order compared to its generated DataIn schema. This was fixed.

Fixed in Live Datamart 2.1.4

TIBCO® Live Datamart 2.1.4 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.4 inherits all fixes on the 2.0.x release branch through 2.0.6, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3635 The LVSessionQueries table field, PredicateExpression, previously did not include WHEN expressions, if any. Now they do.
CQS‑3633 In some rare cases, rows that should have been filtered out by the requesting client were returned. This was corrected.
CQS‑3615 The lv-client command sets client-info to the USERNAME environment variable value if no client-info is specified in the supplied URL. Because the USERNAME value was not being URL-encoded, spaces or special characters caused the connection attempt to fail. This was fixed.
CQS‑3556 Session timeout for LiveView connections were reduced to two minutes. Since all active LiveView connections send heartbeat messages, even if there is no query active, this should not create any problems. However, if a client is shut down without the opportunity to close gracefully, the session memory will recover much sooner.

Fixed in Live Datamart 2.1.3

TIBCO Live Datamart 2.1.3 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.3 inherits all fixes on the 2.0.x release branch through 2.0.5, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3586 When using LiveView Web to connect to tables that are not native Live Datamart tables (for example, to TIBCO ActiveSpaces Spaces, or to StreamBase Query Tables from an external StreamBase process), the data was not presented correctly. Now it is.
CQS‑3576 In previous releases, there no way was provided for a JavaScript API user to know when an active Atmosphere Framework connection returned an error. This was fixed in the API.
CQS‑3574 In previous releases, the lv-client command previously allowed no way to specify JVM -Xmx options, which meant the command usually defaulted to a unnecessarily large heap. This was changed to supply -Xmx512m by default. The lv-client command now supports augmenting JVM parameters by setting the environment variable LIVEVIEW_CLIENT_JVM_ARGS in the context in which the lv-client process is launched.
CQS‑3573 If a client connection session to LiveView Server timed out when there were active queries (generally due to the browser being closed when a LiveView Web instance was active), an UnknownSessionException error showed in the server console, and the session state was not correctly released. This was fixed.
CQS‑3570 The lv-client publish command was not correctly clearing fields, so that if a row to be published specified null for a field value, the most recent previously published value was used instead. This was corrected.
CQS‑3562 In previous 2.1.x releases, no garbage collection (GC) options were specified by default, which meant that Live Datamart Server used the default collector for the JDK in use. For JDK 8, which is included with StreamBase, the default GC is the throughput collector. Starting with release 2.1.3, the default collector is explicitly specified as the G1 collector. See Java Garbage Collection Settings for a workaround for earlier 2.1.x releases.
CQS‑3558 When a password specified in an sbconf or lvconf file contained a forward slash (which is possible when the password is enciphered), and one or more alerts are configured, Live Datamart Server would fail to start. This corner case was fixed.
CQS‑3557, CQS‑3609 Enciphered values in a Live Datamart project's sbd.sbconf file, or in lower level imported sbconf files, were not being correctly deciphered. This was corrected.
CQS‑3540, CQS‑3520 In releases prior to 1.6, 2.0.6, and 2.1.3, the continuous portion of a query could send spurious delete or update messages to clients when the queried LiveView table was configured with two or more secondary indexes. The defect could also introduce inconsistent results in downstream aggregate or transformed tables. Snapshot queries were never affected. The failing situation was corrected.

The workaround for the affected releases is to use one or no secondary indexes. Starting with 2.0.6, 2.1.3 and later, data tables can again use any number of secondary indexes. (As of release 2.1.3, release 2.0.6 is an expected but not promised future release.)

CQS‑3519 For tables with snapshot-parallelism greater than 1, Live Datamart 2.1.3 and later can process new queries faster than previous releases.
CQS‑3416 An error prevented the lv-generate interfaces command from working correctly when using the --all option, or when the equivalent command was run from Studio's menus. The command worked as designed when using the --type transform option with a --tables specification. The command and its Studio equivalent were corrected to work as designed in all cases.
CQS‑3386 Previously, attempting to connect to an unreachable LiveView Server produced a blank error message. The LiveView.Error on failed connection now has this message: Connection Failed with this detail line: Failed connection to LiveView Server.
CQS‑2441 In release 1.6.1's Java Client API, the behavior of the LiveResult and AbstractTupleEvent classes changed such that there was no way to use the LiveResult's getMap() method without accessing the now-deprecated event.getKey method. This was corrected.

Fixed in Live Datamart 2.1.2

TIBCO Live Datamart 2.1.2 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.2 inherits all fixes on the 2.0.x release branch through 2.0.5, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3525 In previous releases, queries to TIBCO ActiveSpaces® back ends would not close all threads after the query was closed. This was fixed.
CQS‑3515 When using custom ID generation, using the setting CQSDelete=true for Publish path deletes had an issue deleting rows. This was fixed.
CQS‑3502 In previous releases, the lv-client addalertaction --sendtuple alert action could successfully send a tuple to a StreamBase URI, but the tuple had only null fields. The updated version takes fieldName:value pair arguments, so that you can define fields and use values from the input tuple or table.
CQS‑3455 An issue could cause a deadlock within the WebSockets framework used by the LiveView JavaScript Client API that prevented browsers from receiving query results. This was fixed.
CQS‑3325 An issue on the client side prevented URL actions to execute in an embedded Datawatch workbook called by LivewView Desktop. This was corrected by upgrading the Datawatch library.
CQS‑3135 There were cases where any LiveView client failed to shut down because there were still threads active. This was corrected.

Fixed in Live Datamart 2.1.1

TIBCO Live Datamart 2.1.1 is a maintenance release with updates and enhancements as described in its New and Noteworthy document, and also corrections for issues as described in the following table. Live Datamart 2.1.1 inherits all fixes on the 2.0.x release branch through 2.0.5, and all the fixes on the 1.6.x release branch through 1.6.6.

Number Resolution
CQS‑3464 The andall() function with one argument is an aggregate function, but with two arguments is a simple function. In some LiveView contexts, andall() with more than one argument was being evaluated as an aggregate function. This was fixed.
CQS‑3454 The lastval() function is always an aggregate function, but in some LiveView contexts, it was being evaluated as a simple function. This was corrected.
CQS‑3445 In previous releases, an enciphered account credential would not match a non-enciphered token credential. This deficiency would manifest when an enciphered version of a user's password was placed in the liveview.auth.properties file, but the user attempted to access LiveView with a non-enciphered password. This was corrected such that, when matching account credentials, either the token credential, or the account credential, or both, can be independently enciphered.
CQS‑3434 In previous releases, author-time aggregation tables that used aliases in the projection for group keys were failing to delete aggregate rows when the group size went to zero. This was fixed.
CQS‑3321 Rows in the LVSessionPublisher table could sometimes skip having updates published at the regular two second update interval. The TotalPublished count was correctly maintained and the next time the row was updated, the values would be correct. This was fixed such that every row that has changes to it is updated every two seconds.

Fixed in Live Datamart 2.1.0

TIBCO Live Datamart 2.1.0 is a major release with updates and enhancements, and corrections for the issues in the following table. Live Datamart 2.1.0 inherits all fixes on the 2.0.x release branch through 2.0.4.

Number Resolution
CQS‑3327 In previous releases, when a malformed query was sent to a LiveView Server — such as specifying a nonexistent or misspelled column name — sometimes the server would close the client connection before it had time to return an exception. This was fixed.
CQS‑2928 In previous releases, it was possible to write a Java LiveView client that used a LiveResult listener with a server running a continuous-only query. This is an unsupported combination with undefined results, so now an exception is raised during the registration of a continuous-only query used with a LiveResult listener.
CQS‑2431 In previous releases, when using the Java Client API, LiveResult.getChangedFields() could incorrectly report that the primary key value changed. The cause was identified and corrected.