StreamBase 10.4.3 Release Notes

These were the release notes for the TIBCO StreamBase® component of TIBCO® Streaming 10.4.3.

New Features

TIBCO® Streaming 10.4.3 added the following updates and new features:

New LDAP Adapter Suite Added

Three adapters are now available to allow a StreamBase applications to connect and read data from an LDAP server:

See this sample page for a demonstration of these adapters.

Morningstar Adapter Now Updated

The TIBCO StreamBase® Adapter for Morningstar Quotes Feed is now updated to the V2 feed. See Morningstar Quotes Feed Input Adapter for adapter configuration details.

RabbitMQ Adapters Now Support TLS/SSL Connections

The RabbitMQ adapter suite now supports TLS/SSL connections to RabbitMQ servers. See the following adapter pages for configuration options:

JDBC Connections Now Explicitly Set Autocommit to True

When connecting to a JDBC data source, the setAutocommit method is called on the connection. This enhancement was added to accommodate JDBC drivers that do not explicitly set their autocommit connection to true by default.

Audit Failure Message Now Improved

The audit failure message seen when deploying an invalid application archive was improved. The message now provides more troubleshooting details regarding the archive.

Oracle JDK Version Updated

The Oracle JDK version bundled with StreamBase and Live Datamart is now JDK 1.8.0_u201.

Documentation and Sample Updates
  • The Custom Java simple function and Custom Java aggregate function samples were ported to StreamBase 10 format and updated for clarity, with their sample documentation pages updated to match. Both samples now illustrate the support for multiple aliases to the same method, as introduced with this release.

  • Documentation for the Python operator was updated to reflect current Python versions supported. Documentation for the Python sample was rewritten to clarify the steps to run each sample, especially the P04 sample.

  • Documentation in the sbengine configuration type for the dataAreaPath and pluginFunctions objects was significantly updated and clarified.

Changes in Functionality

This release included the following changes in functionality:

In Unit Test Cases, Calling loadDeploy() No Longer Auto-starts

In unit test cases, calling loadDeploy() directly or indirectly via loading and activating configurations of HOCON type would auto-start the containers pertaining to unit test cases. As of 10.4.3, those containers no longer start automatically.

This issue only affects containers referenced by deployment configuration. Previous behavior:

  • load node deployment configuration

  • server.loadApp() — containers started too early

  • server.startContainers() — did not do anything

Current behavior:

  • load node deployment configuration

  • server.loadApp() — containers not started

  • server.startContainers() — now starts containers

New Custom Function Syntax to Support Multiple Aliases

To express more than one alias for the same method, use the new methodName property in a configuration file of type sbengine to specify the name of the method to be invoked. In this case, do not also express the method name as the index to this configuration block; instead use any unique string as the index term. If methodName is used, the index term is ignored. For example, the following block configures two aliases for the calculate method, using two placeholder strings abc and xyz as index terms.

pluginFunctions = {
  java = {
    abc = {
      methodName = "calculate"
      alias = "hypotenuse"
      autoArguments = true
      className = "com.tibco.ep.sample.Hypotenuse"
      type = "simple"
    }
    xyz = {
      methodName = "calculate"
      alias = "calchyp"
      autoArguments = true
      className = "com.tibco.ep.sample.Hypotenuse"
      type = "simple"
    }
    ...

Deprecated and Removed Features

StreamBase 10.4.3 included the following deprecations:

Velocity Analytics Adapter Deprecated

The TIBCO StreamBase® Output Adapter for Velocity Analytics UTSS is now deprecated and is expected to be removed in a future release.

Migration and Compatibility

Kafka Adapter Library Updated

The Apache Kafka adapter suite is now built against version 2.1.0 of the Apache Kafka libraries using Scala 2.11.12.

StreamBase Resolved Issues

This section provides a list of errors corrected in release 10.4.3 of the TIBCO StreamBase® component of TIBCO® Streaming.

Fixed in 10.4.3
Number Resolution
TIBCO StreamBase® 10.4.3 incorporated all fixes resolved in the release 10.0 series through 10.4.0 and all fixes resolved in the release 7.7 series through 7.7.7.
SB‑46362 When connecting to URIs, the WebSocket Client Read Adapter now checks for ws versus wss protocols and configures the SSL accordingly.
SB‑46311 Updates would occur after unsubscribing to an item through the Thomson Reuters Enterprise Platform Subscribe Adapter. This was resolved so that RFA 6 no longer incorrectly removes a subscription when a snapshot completes. (This was only required for RFA 5, which was previously announced as no longer supported.)
SB‑46288 Under rare conditions it was possible for a remove event for a aggregation result set to be lost. This was fixed.
SB‑46282 The to_seconds function was incorrectly truncating results to the nearest integer value. This incorrect truncation is no longer done.
SB‑46279 Restarting a node that had disk-based Query Tables failed with a type mismatch in previous releases. This was resolved.
SB‑46216 The CME MDP3 adapter's subscription file would incorrectly pass spaces that users inadvertently added to either side of the file's security description. The security description field is now trimmed before usage.
SB‑46208 The HOCON syntax for defining aliases for custom Java methods did not allow a way to define more than one alias for the same method. This was corrected in release 10.4.3 by adding the methodName property, described in sbengine.
SB‑46202 The HDFS CSV File Writer adapter would ignore the User property on file connection at startup. This was fixed.
SB‑46176 The OSI PI adapters were unable to connect to a server that was not configured to be available via UDP. When the adapters failed to connect, a message warned of network or credential errors. Now, the adapters will add the server and try to connect if not found during discovery.
SB‑46175 The OSI PI adapters would ignore the Connect on Startup property (when selected) and attempt to connect anyway. This was fixed.
SB‑46168 Query Tables configured to use transactional memory in a parallel region could cause a hard crash in previous releases. This was resolved.
SB‑46121 This release resolves code generation failures that would occur when there were multiple aggregate field dimensions when the Aggregate operator was stored in transactional memory. Also resolved: code generation failures when multiple aggregate time or field dimensions are configured when the Aggregate operator was stored in both heap and transactional memory.
SB‑46104 The HOCON-to-Java data binding did not correctly process configuration files containing associative arrays whose keys contained dots AND whose values were arrays of objects. This was resolved.
SB‑46069 Previously, loading a fragment using a disk-based Query Table would fail with SQL errors if the Query Table's schema contained a field of type list(tuple). This failure was resolved.
SB‑46032 A known MQTT defect affected the MQTT Client Publish Adapter when using Qualify-of-Service (QoS) level zero (0). QoS 0 now works properly after upgrading the referenced library to 1.2.1.
SB‑46024, SB‑45666, SB‑45603, Query Table Delta Streams were significantly improved to address issues related to assertion and exception errors. Errors could occur if the Delta Stream tuple contained a list field, or when sending data containing a boolean field in a replica Delta stream. This release also resolves invalid type errors that could occur when timestamp fields are used.
SB‑45980 In some cases, the epadmin rebalance availabilityzone command failed to take into account nodes in the zone. The command was updated so that it uses the list of nodes set in the zone. Previously the command relied on the list of nodes used on the configured partitions, which could be inadequate.
SB‑45906 Nested lists in Query Tables — when stored in transactional memory — would fail. For example, a Query Table field declared as: bloblistlist list(list(blob)) would fail and return either an assertion error (if enabled) or invalid data. This was resolved.
SB‑45781 If an entry in a Query Table is not replicated locally, an update to the remote entry may fail to update. This fix resolves and applies to transactional memory Query Tables.