Live Datamart Resolved Issues Archive

This page lists issues resolved in past releases of TIBCO® Live Datamart and TIBCO LiveView™ Desktop.

Fixed in Live Datamart 2.0.6

TIBCO Live Datamart 2.0.6 is a service pack release with updates and enhancements. Live Datamart 2.0.6 inherits all fixes on the 1.6.x release branch through 1.6.6. The following issues were corrected in this release.

Number Resolution
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‑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‑3525 In previous releases, queries to TIBCO ActiveSpaces® back ends would not close all threads after the query was closed. This was fixed.
CQS‑3520 Aggregate expressions that use functions that can underflow could return incorrect results in rare cases. This could occur if the nature of the data attempted to change an expression in underflow state from one group-by bucket to another. Examples of aggregate functions that can underflow are firstval, lastval, min, and max. This issue was corrected.
CQS‑3518 In rare cases, it was possible for query registrations to get an NPE exception on the server. This would cause the client's query to fail. 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‑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.

Fixed in Live Datamart 2.0.5

TIBCO Live Datamart 2.0.5 is a service pack release with updates and enhancements. Live Datamart 2.0.5 inherits all fixes on the 1.6.x release branch through 1.6.5. The following issues were corrected in this release.

Number Resolution
CQS‑3441 In previous releases, persistent recovery of LiveView data tables that use custom ID generation correctly recover all data, but were incorrectly handling CQSInternalID initialization. This caused inserts and updates after recovery to fail to map properly to the correct pre-recovery rows. This was fixed.
CQS‑3432 The MultiConnectionConfig class in the LiveView Client API would previously stop trying to connect if it found no servers available. This was corrected to continue trying to connect. This fix allows you to enter a single URL in the list of servers; if the connection to that server goes away, it will continuously try to reconnect until the server is back up, at that point reconnecting all queries.
CQS‑3426 In certain very rare conditions, the LiveViewStatistics table logic that determines the amount of memory a table is using could deadlock in a way that prevented the LiveViewStatistics table from updating at all. This was fixed.
CQS‑3408 In previous releases, aggregate queries that had a group that is removed, then re-added back in later, could in some circumstances have the group keys set to null. Tables with snapshot-parallelism greater then 1 could have this null value set back to the correct value. All other values in the row not involving the group key or keys were correct. The cause was identified and corrected.
CQS‑3401 In certain rare timing conditions the LiveView Publish, Query, or Delete adapters could throw a benign NullPointerException during server shutdown. This was fixed and the NPE no longer occurs.
CQS‑3394 Time windowed queries that have top level OR terms could receive incorrect results. The cause was identified and corrected as of release 2.0.5. Previous releases can avoid this defect by surrounding the predicate portion of time windowed queries that contain OR terms with outermost parentheses.
CQS‑3389 In previous releases, LiveView projects that met two conditions could fail to start from the command line with lv-server. The conditions were that the project (1) imported a schema from an .sbint or .sbapp file, and (2) used liveview.project.out to specify an output directory other than the project root.
CQS‑3381 In release 2.0.4 only, the <java-vm> element of the sbd.sbconf file for LiveView projects was inadvertently limited to a single <param> child element. This meant that you could only specify <param name="java-home"...> or <param name=jvm-args ...> but not both. This incorrect limitation was lifted in release 2.0.5 to allow both param types in the same <java-vm> element.
CQS‑3303 Certain aggregate and order-by queries against a LiveView Server can cause server refill requests that are logged at the INFO level in the server log. In previous releases, this resulted in a great many refill request messages. Starting with this release, these refill requests are now rate limited to one per minute per query using the StreamBase logger's compressed log feature.

Fixed in Live Datamart 2.0.4

TIBCO Live Datamart 2.0.4 is a service pack release with updates and enhancements. Live Datamart 2.0.4 inherits all fixes on the 1.6.x release branch through 1.6.5. The following issues were corrected in this release.

Number Resolution
SB‑28030 Prior to release 2.0.4, deleting a row via the publish path was less efficient than publishing a row. This was optimized so that deleting a row now costs about as much as publishing one.
CQS‑3169 Table row deletes using the data path were failing to honor the case insensitive directive for the primary key field, and thus were always case sensitive. This was fixed.
CQS‑3165 A null pointer exception could occur when new rows were inserted following a delete into a StreamBase Query Table exposed to the LiveView server. The cause was identified and corrected.
CQS‑3141 In the Alert Send Tuple action, when the connection to the configured StreamBase Server was broken, it would never try to reconnect. LiveView clients now try to reconnect each time another Send Tuple action is fired to that StreamBase Server.
CQS‑3138 Values set in the LiveView URI client-info query parameter could not use URI encoded characters. This was fixed.
CQS‑3119 In previous releases, for tables configured with periodic publish, if a row was added then removed within the publish period, clients would see a delete event for a row that was never added. This was corrected for releases 1.6.5 and 2.0.4.
CQS‑3115 In previous releases, join target tables that were configured with the snapshot-parallelism attribute set greater than 1 would prevent LiveView Server from completing startup. This was fixed for releases 1.6.5 and 2.0.4.
CQS‑3114 LiveView Desktop would restart all queries every five minutes, which would cause the server to resend snapshots of the query results. This is no longer the case: the initial snapshot is received only when the query is started, and after that, query updates keep LiveView Desktop up-to-date.
CQS‑3102, CQS‑3099 Under certain circumstances, in LiveView Desktop, a time series chart such as a line graph might have displayed erroneous values, due to an interpolation setting that was not user configurable. This automatic interpolation was removed, and a time series lines now display only actual values. This fix also corrected an issue with time series line graphs plotting incorrectly.
CQS‑3092 In previous releases, LiveView Desktop could fail to draw open-high-low-close graphs. The cause was identified and corrected.

Fixed in Live Datamart 2.0.3

TIBCO Live Datamart 2.0.3 is a service pack release with updates and enhancements. Live Datamart 2.0.3 inherits all fixes on the 1.6.x release branch through 1.6.4. The following issues were corrected in this release.

Number Resolution
CQS‑3082 With LiveView Desktop connected to a LiveView Server with running queries, if the server is then shut down, the query views would display (Not Connected) in their top status bars — which was correct while the server was, in fact, down. However, when the server was restarted and the Desktop reconnected (using FileReconnect to Server), the query views would still display the (Not Connected) message, even though the contents of those views had begun updating again. This was fixed such that the (Not Connected) message only displays when the Desktop is genuinely not connected to the server.
CQS‑3074 Predicates that contained index key fields set to null would sometimes return an error. The cause was identified and corrected in releases 1.6.5 and 2.0.3. A workaround for earlier releases is to set the system property liveview.query.unique.plans to 1.
CQS‑3072 For dynamic aggregation queries only, and only the continuous portion thereof, and only for predicates that are planned where there is more than one value used for index equity, client data updates could be missed. The way to tell whether a predicate has more than one index equity is by looking in the server log for instances of Predicate rewritten: <re-written predicate> plans: X, unique plans: Y. If Y is greater than 1, then this issue can occur.

This situation was corrected in LiveView 1.6.5 and 2.0.3. For LiveView 1.6.4 and below, and for 2.0.0 through 2.0.2, you can work around this issue by setting the system property liveview.query.unique.plans to 1. LiveView 1.5.x did not have the problem.

CQS‑3053 The <adapter-configurations> element, newly added to the XML syntax of server configuration files in release 7.5.0, was not correctly copied to the generated lv-bin/sbd.sbconf when starting LiveView Server. This prevented the use in LiveView projects of adapters that use this feature, such as the ActiveSpaces operators. The cause was identified and corrected in StreamBase 7.5.3.
CQS‑2536 The Not Connected message in LiveView Desktop's bottom right status bar was trying to squeeze into a non-resizable field that just fit the word Connected. This was fixed.

Fixed in Live Datamart 2.0.2

TIBCO Live Datamart 2.0.2 is a service pack release with updates and enhancements. Live Datamart 2.0.2 inherits all fixes on the 1.6.x release branch through 1.6.4. The following issues were corrected in this release.

Number Resolution
CQS‑2961 The lastval() aggregate function could sometimes return incorrect values. Tables that had a higher snapshot-parallelism setting and predicates that underflowed for any reason would exacerbate the problem. This was fixed.

Fixed in Live Datamart 2.0.1

TIBCO Live Datamart 2.0.1 is a service pack release with updates and enhancements. Live Datamart 2.0.1 inherits all fixes on the 1.6.x release branch through 1.6.3. The following issues were corrected in this release.

Number Resolution
CQS‑2919 In LiveView Desktop, when connected to a LiveView Server, in the WindowPreferences dialog, the Restore Defaults button could fail to restore the dialog. This was fixed.
CQS‑2918 In LiveView Desktop, with a tabular query view whose query is not running (because it is paused or has hit a row limit), if you right-clicked in that view and chose either Columns or Notifications, an internal exception would prevent the expected dialog from appearing. This was corrected.
CQS‑2844 Deleting rows via the DataIn path was unexpectedly slow. The delete performance was greatly improved.
CQS‑2837

A transform application referencing an aggregation table failed to see delete events when a row left aggregation scope, preventing the transform from acting on these events or sending a delete action into the recipient table.

As of release 2.0.1, transform applications now see these events as an input tuple with CQSReferredCount==0 and the row that was deleted reported in the newly added Old field of type tuple. Since a new field was added, transform applications written before 2.0.1 will no longer typecheck. You must at minimum regenerate the transform interface, and possibly also convert your transform application to accommodate the new input field.

To migrate an existing transform application:

  1. Regenerate the transform interface, using either the new StreamBaseGenerate LiveView Interfaces menu option or a command like the following: lv-server generate --type transform --tables baseTable,transformedTable projectDir

  2. Update the transform application's Input Stream schema to use the newly generated transform schema.

If you expect delete events and wish to act on them, continue with the following migration steps:

  1. Add to the transform a Filter operator with two output ports, the first emitting tuples matching the test CQSReferredCount==0 and the second emitting all remaining tuples. This isolates tuples representing a row deletion in the source table.

  2. To emit a deletion event, send out of the transform Output Stream the key fields needed in the recipient table, and the field CQSDelete set to true.

CQS‑2756 In release 2.0.0, the Jetty web server launched as part of LiveView Server was locking HTML files under its control by default when running, which affected development of new and updated HTML files, especially on Windows. As of release 2.0.1, the server no longer locks its files by default.
CQS‑2475 If a LiveView data table had a snapshot parallelism setting of 1, and a query with a limit of X was issued where there were exactly X rows that matched the query, all X rows would be delivered to the client, but then a snapshot exceeded exception was thrown. This was fixed.

Fixed in Live Datamart 2.0.0

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

Number Resolution
CQS‑2430 The text of the EOF reading data from binary stream DEBUG message was changed to indicate that EOF and I/O exceptions incurred just after a server connection is closed are normal and can be safely ignored.