Contents
TIBCO® Spotfire Data Streams 10.5.0 adds the following updates and new features:
- StreamBase Studio Now Based on Eclipse 4.12
-
StreamBase Studio and StreamBase Manager are now based on Eclipse 4.12.
As with every major release, TIBCO strongly recommends using Copy projects into workspace option.
> to import your projects from previous releases into a new, unused Studio 10.5 workspace, making sure you use theStreamBase Studio silently updates the workspace format of older projects. Once imported and updated into 10.5 format, do not reopen a 10.5 project in an earlier release of Studio.
This change also affects TIBCO LiveView Desktop™, as described in LiveView Changes.
- Jetty Upgraded
-
In StreamBase Studio, the Jetty web server version was upgraded to 9.4.14 to address security issues in the previously supported version. The upgrade applies, for example, to the TIBCO StreamBase® Web Server Request adapter and the TIBCO StreamBase® Web Server Response adapter, as well as for developing your own applications that require Jetty.
- RHEL 8 Now Supported for Runtime
-
The StreamBase Runtime now supports Red Hat Enterprise Linux Server 8. See this page for details.
- New Oracle and SQL Server Versions for JDBC Access
-
StreamBase now supports JDBC access to tables on Oracle 18c and Microsoft SQL Server 2017.
- Studio Resource Center Now Available
-
The Studio Resource Center now opens by default in the EventFlow Editor position on first-time use of Studio, or when opening a new workspace. The Resource Center provides a hands-on walkthrough of StreamBase Studio, its different perspectives and views, and shows how to run a simple EventFlow fragment. The Resource Center also includes links to TIBCO® Spotfire Data Streams and LiveView user documentation and to sample projects. The Resource Center can be reopened from the Studio Help menu.
- New Way to Load Samples
-
This release replaces the Load StreamBase Sample menu with the new menu option Import Samples and Community Content, which is described in Loading Samples in Studio. The new menu option provides access to three categories of StreamBase and LiveView samples:
+-
TIBCO-supported samples installed locally as part of your TIBCO® Spotfire Data Streams installation, as in previous releases.
-
TIBCO-supported samples installed on GitHub.
-
Community contributed samples installed on GitHub.
In addition, the StreamBase Component Exchange menu option remains as before to provide a source of community contributed components.
+ -
- New StreamBase Expression Evaluator
-
This release introduces the Evaluate StreamBase Expression dialog, which allows you experiment with long or complex StreamBase expression syntax without having to run an EventFlow fragment with Map operator to test the results. The Evaluator performs the same syntax tests as the StreamBase Runtime and returns instantaneous validation results.
The dialog is especially useful when defining custom expression language functions, because it allows you to append parenthesized arguments to your proposed function to return an evaluation of your function on those arguments.
This feature replaces the
sbd --eval
functionality of the StreamBase 7 series. - Adapters and Operators Now Cluster-aware
-
StreamBase adapters and global Java operators now support a cluster-aware service that you can use to start or stop individual adapters or operators based on the state of the current node in its cluster. One use case includes adapters that should only connect to an external server from the single active node in the cluster. Cluster awareness is discussed on a new page in the Administration Guide.
Look for these properties in the new Cluster Aware tab of the Properties view for adapters and global Java operators. As a result of this enhancement, the affected adapters' and operators' Start options property, located on the General tab of the Properties view, was changed to be a link to the Cluster Aware tab.
- New HOCON Configuration Files Can be Built via Double-Click
-
When creating a new HOCON configuration file using the HOCON Configuration File Editor, double-clicking the desired configuration file type now creates the new file. This convenience is intended to save a step, but note that the existing button remains supported.
- Cluster View Remove Node Dialogs Improved
-
The syntax in the Cluster view toolbar's and dialogs was improved to clarify the actions you can perform from each respective button.
- Fragment Launch Time Now Improved
-
As a result of service discovery and other internal changes, fragment launch performance was improved.
- REST Management Interfaces Now Provided
-
Each running node now includes a web server that presents REST API web services that support basic node administration functionality as well as node health queries. These web services provide insight into each node as a whole, not to any EventFlow, LiveView, or Java engines hosted by each node.
These web services are self-documenting, as is standard for OpenAPI-based REST APIs. You can determine the URLs to query with a command like the following:
epadmin servicename=
nodename.cluster
display webThese interfaces are in place for internal purposes at TIBCO, but you are welcome to take advantage of them to develop your own administration clients. For more information about the REST API, see StreamBase Runtime REST API.
- WAR Files Found in Deploy Directories are Now Added to the Classpath
-
Web Application Archive (WAR) files found in deploy directories are now added to the engine's classpath.
- Transaction Log Messages Improved
-
Various improvements were made to transaction log messages to display more useful output.
- Invalid Node Type Fragments Message Improved
-
"Invalid node type fragment" messages are now improved to clarify why a such an error can occur.
- New System Property Warns in Stack Traces
-
When enabled, the new system property
streambase.java-operator.stacktrace-on-warn
displays stack traces on exceptions thrown from Java operators.
- Engine Configuration Merging Now Supported
-
StreamBase now supports merging configurations of certain properties declared in any of the three engine configuration types: StreamBaseEngine, LDMEngine, and JavaEngine.
- New ParameterSettingsGroup Configuration Root Object
-
A new root object in the StreamBaseEngine configuration type, ParametersSettingsGroup provides a central place to define name-value pairs of parameter specifications, which can be grouped into named objects referenced elsewhere in other configuration objects. The approach to StreamBase parameters is now simplified into module and container parameters as discussed in Changes in Functionality .
- New CustomFunctionGroup Configuration Root Object
-
Custom functions and aliases to standard functions are now configured in a new root object in the StreamBaseEngine configuration type, CustomFunctionGroup. The
pluginFunctions
object of previous releases is deprecated. This change is further discussed in Changes in Functionality . - Parallel Region Queue Options Now Configurable via HOCON Objects
-
The StreamBaseEngine root object now includes a parallelRegionQueues object for engine-wide parallel region configuration. This is now the preferred configuration method for engine-wide parallel region queues. Using StreamBase Java properties to manage parallel region queues is now deprecated.
- Node Listener Now Configurable via Secure Communication Profile
-
The
secureCommunicationProfileName
property was added to theCommunication
configuration object of the node deployment configuration. This property specifies the name of a configure secure communication profile for the node's administration, distribution, and web listeners. Among other features, this allows you to enable authentication when querying the new REST API interfaces described above.
- New Targets for epadmin Added
-
The epadmin command has a new target, web, which is used to start, stop, and display the new REST management web services added in this release.
Another new target, metrics, is reserved for future use.
- New Statistics Types Added to epadmin Command
-
New statistics types were added to the epadmin statistics target:
-
systemevent: displays rows for node, engine, and component startup and shutdown events.
-
classtypedescriptor: displays the relationship between Java classes loaded and Runtime metadata (type descriptors) created for @Managed objects and enumerations.
-
objectmemory shows total shared memory usage by managed object type.
-
- Command Help Output Now Supports JSON Output
-
The epadmin administration targets now support help output in JSON format in addition to the supported text format. The JSON option also includes all required metadata in order to be machine parseable. See the epadmin page for details.
- New epadmin Global Parameters Added
-
The following epadmin global parameters were added:
keystore keystorepassword truststore truststorepassword defaultsfile ignoredefaultsfile For additional details see the epadmin help.
- Support Added to Display Secure Communication Profile Details
-
The display cluster type=configuration field now includes details about a node's secure communication profile when used by the distribution service. If no profile is set, the related fields return None.
The display node command now contains a column for the name of the secure communication profile used for the node's administration, distribution, and web listeners. If no profile is set, then the column value is None.
- New TensorFlow Adapter Introduced
-
The TIBCO StreamBase® Operator for TensorFlow Model Evaluator allows StreamBase applications to execute TensorFlow machine learning models. See this page for configuration details and TensorFlow Adapter Sample for sample usage.
- New AMS Client Adapter Introduced
-
The TIBCO® StreamBase Adapter for Artifact Management Server illustrates how to use the AMS client adapter for enumerating AMS projects and their artifacts, and for fetching, adding, updating, and deleting artifacts. See this page for configuration details and Artifact Management Server Adapter Sample for sample usage.
- IEX Adapter Suite Introduced
-
This release includes the following adapter suite:
-
The TIBCO StreamBase® Adapter for IEX Reference Data allows StreamBase to connect to the IEX stock exchange and request reference data.
-
The TIBCO StreamBase® Adapter for IEX Market Data allows a StreamBase application to connect to the IEX stock exchange and request snapshot market data.
-
The TIBCO StreamBase® Adapter for IEX Stocks allows a StreamBase application to connect to the IEX stock exchange and request stock data.
-
The TIBCO StreamBase® Adapter for IEX Streaming Market Data allows a StreamBase application to connect to the IEX stock exchange and subscribe to streaming market data.
See IEX adapters sample for examples of adapter usage.
-
- New TIBCO ActiveSpaces® Operators Added
-
The following ActiveSpaces operators were added to the operator suite:
-
TIBCO StreamBase® Operator for ActiveSpaces Batched Put Operations, which adds or updates multiple rows in a single call. Note that this operator cannot be used in transacted sessions.
-
TIBCO StreamBase® Operator for ActiveSpaces Batched Get Operations, which retrieves multiple rows from a table in a single call.
-
TIBCO StreamBase® Operator for ActiveSpaces Batched Delete Operations, which removes multiple rows from a table in a single call.
-
TIBCO StreamBase® Operator for ActiveSpaces Listen Operations, which monitors events corresponding to changes in a table (or specific rows of a table).
See ActiveSpaces operators sample for examples of operator usage.
-
- Diameter Adapters Improved
-
The Diameter adapters now include the following enhancements:
-
An option was added to the Diameter output adapters, so they can pass through the complete tuple after the write operation is complete.
-
Rate throttling is now supported to control the rate of requests per second.
-
A new format (command-separated list) now specifies which adapter will handle a given message.
-
- Python Operators Improved
-
The Python Operators now support Numpy data type objects (dtypes); this support requires Python 2.7.15 and later. See this page for configuration details.
- Kafka Input Adapter Improved
-
When the new configuration option is enabled, the Kafka Input adapter outputs a status message with the beginning offset for the subscriptions topic. See the adapter page for details.
- Decision Table Operator Performance Improved
-
The Decision Table operator was redesigned to arrange the set of conditions from the loaded decision table into a tree. For balanced trees, this improves load and execution time substantially. See Decision Table Performance Considerations for more information.
An Exclude Rule From Output Tuple check box was added to the Decision Table operator. When selected, the rule field no longer appears in the operator's output schema, which can improve decision table loading. The rule field is one of the Decision Table operator's typical output schema tuple fields.
- FIX Adapter Now Includes TLS/SSL Connectivity and Whitelist Support
-
The TIBCO StreamBase® Adapter for FIX can now connect using TLS/SSL (initiator and acceptor) and also specify a list of IP addresses or address ranges that are authorized to connect (acceptor only).
- Kafka Adapters Now Support Azure Event Hubs Connections
-
The Kafka Consumer and Producer adapters now support connections to Microsoft Azure Event Hubs portals.
- WITSML Operators Can Now Set Date Time Format at Runtime
-
WITSML operators now support a date and time format per input tuple during Runtime.
- Oracle Log Miner Now Obtains Field and Primary Key Values
-
The Oracle CDC LogMiner Parser Adapter includes the following enhancements:
-
The adapter now parses the WHERE statement of UPDATES to obtain existing fields' values as well as the primary key.
-
A new option enables the query of UNSUPPORTED operations for debug purposes.
-
- Distributed Router Now Improved
-
The Distributed Router operator includes the following new options:
-
Custom Round Robin: behaves similarly to Round Robin except the availability zone name is taken from a field from the input tuple (instead of configured).
-
Custom Hash: behaves similarly to Hash except the availability zone name is taken from a field from the input tuple (instead of configured).
-
A new operator property can define what field the input tuple the availability zone comes from.
-
- UDP Receiver Adapter Now Improved
-
The UDP Receiver Input Adapter now includes an option to set the underlying socket receive size on its own, compared to having the maximum packet size set that
and
the datagram buffer size. Also, buffer creation was moved outside the "while loop" to prevent repeated buffer creation. - New Operators Added to JMS/EMS Adapter Suite
-
New operators join the TIBCO StreamBase® Adapter for JMS and EMS: JMS Request/Reply and a corresponding EMS Request/Reply operator. See the adapter suite and sample pages for details.
- Decision Table Validation Now Improved
-
The Decision Table Analyzer now uses a decision tree instead of order n^2 code paths, which improves the time it takes to validate decision tables.
- Node Audit Logs Now Contain Web Service Information
-
The audit log now contains audit messages for web service requests.
- Enabling Docker Build for Application Now Configures Console Log Appender by Default
-
When creating applications for use with Docker, a
logback.xml
file is now included to expose the application logs to Docker.
This release includes the following changes in functionality:
- ActivFeed Input Adapter Now Available
-
The TIBCO StreamBase® Adapter for Activ Financial was previously unavailable in recent StreamBase 10 releases due to third-party API issues. The adapter is significantly improved in 10.5.0 and supported once again.
- New Configuration Syntax to Declare Custom Functions
-
As before, custom Java functions or aliases to standard functions must be declared in a HOCON configuration file. In previous releases, custom functions were declared with the
pluginFunctions
configuration object under theStreamBaseEngine
root object. This syntax is now deprecated:... type = "com.tibco.ep.streambase.configuration.sbengine" configuration = { StreamBaseEngine = { streamBase = { pluginFunctions = { ...
Starting with release 10.5.0, custom functions are declared in a new root object,
CustomFunctionGroup
in the samesbengine
type:... type = "com.tibco.ep.streambase.configuration.sbengine" configuration = { CustomFunctionGroup = { customFunctions = { ...
See
customFunctions
in the Configuration Guide for help with porting your custom function declarations from the previouspluginFunctions
syntax. - New Configuration Approach to Parameters
-
Previous releases allowed you to define both module parameters and operator parameters, but this left open the question of the architectural level in which operator parameters had scope. Starting with this release, operator parameters are deprecated in favor of container parameters that have scope in a single EventFlow container. Module parameters, as before, apply to an entire EventFlow module.
The EventFlowDeloyment root object in the sbengine HOCON type now includes a
containerParameterSettings
object in addition to the existingmoduleParameterSettings
object. Both objects reference settings made with the new ParameterSettingsGroup root object.Note that StreamBase documentation has not yet caught up with this new distinction between operator and container parameters, and still refers in places to operator parameters. This is expected to be corrected in an upcoming release.
- Change in Context for Certain epadmin configuration Commands
-
This release imposes restrictions on when in the lifecycle state of a node you can run certain epadmin configuration commands. For the following commands to work, the node must be both installed and started:
epadmin load configuration epadmin activate configuration epadmin deactivate configuration epadmin remove configuration An error message results if you try to run these commands on a stopped node or on an installed node before it is started and running.
- View of sblayout Files Now Suppressed by Default
-
The view of companion
.sblayout
files is now suppressed by default in Studio's Project Explorer view. Remember to take layout files into account if you manage your Studio workspace projects with a version control system. To restore the visibility of layout files, see Restoring Layout File Visibility. - Hyphen Now Supported in Cluster and Node Names
-
Studio now allows hyphens in cluster names and node names.
- Debug View Display Changed for Fragment Launches
-
In the Debug view for an EventFlow fragment launch, previous releases displayed the workspace-relative path for modules. Starting with this release, the fully qualified module name is displayed instead.
- Multiple Quorum Notifiers Now Supported per Availability Zone
-
Multiple quorum notifiers are now supported per availability zone. Note that the configuration format did not change; configuration now allows more than one notifier in the list.
- Adapter Code Updated to Replace Logger Member with Operator.getLogger() Calls
-
Studio was updated to replace logger members with Operator.getLogger() calls to ensure that every operator has a unique logger name when multiple instances of the same operator are being used. When creating custom operators, TIBCO recommends using the parent class's getLogger() method instead of creating your own loggers. Consider making that change for any existing custom operators as well, although the code continues to work without changes for backward compatibility.
- Decision Table Operator Now Reports Duplicate Rules
-
The Decision Table operator now writes to the console when two rules with identical conditions are present in a decision table and being loaded.
- Configuration Activation Process Now Changed
-
The following configuration types are now processed loaded and activated during node installation instead of node start:
-
com.tibco.ep.dtm.configuration.security
-
com.tibco.ep.dtm.configuration.application
-
com.tibco.ep.dtm.configuration.node
This ensures that any security-related configuration defined in the application archive and node deploy configuration remains active even when the node is stopped. For example, the node's trusted hosts are now defined when the node installation process completes. Likewise, users defined in a LocalAuthenticationRealm configuration are also now available after node installation.
-
- moduleName Property no Longer Audited at Configuration Activation
-
The
EventflowDeployment.modules.moduleName
property is no longer audited upon configuration activation. Invalid module names are still detected, but not until the associated engine is started. - Documentation Updates
-
In addition to standard release-specific updates, this release includes the following independent updates and corrections to the documentation:
- Description of epadmin encrypt secret Rewritten
-
The Encrypting Sensitive Configuration Data page in the StreamBase Administration Guide was completely reorganized and rewritten for clarity.
- Adapters Guide Reorganization
-
In previous releases, the Adapters Guide was split between two sections, one for embedded adapters and another for external adapters. The sole member of the external adapter category was removed in this release, which prompted the removal of the external adapters section. Cross-reference links to individual adapter pages did not change.
StreamBase 10.5.0 has the following deprecations.
- RHEL 6 No Longer Supported
-
Red Hat Enterprise Linux 6, announced as deprecated in Release 10.3.0, is no longer supported. TIBCO recommends migrating to RHEL 8, which is now supported in 10.5.0, or RHEL 7.
- Deprecated Spark Operator No Longer Supported
-
The deprecated TIBCO StreamBase® Operator for Spark/MLlib Model Evaluator, is no longer supported and is now removed from StreamBase.
- Windows Native 32-bit API Deprecated
-
Support on Windows for developing 32-bit StreamBase clients or monitoring apps with C++ or .NET is now deprecated. TIBCO Streaming will continue to provide support for 64-bit apps.
- Configuration Object jvm is Deprecated
-
In configuration files with type
com.tibco.ep.dtm.configuration.javaengine
, or insbengine
orldmengine
configuration files that can specifyjavaengine
settings, the JavaEngine > jvm object was renamed to JavaEngine > jvmTuning. The jvm object is still supported for compatibility with previous releases, but is expected to be removed in a future release. Search for"jvm ="
in your application's configuration files and migrate those to use the new namejvmTuning =
. - Configuration Property constantsOverwrite is Deprecated
-
The
constantsOverwrite
property in configuration files of typecom.tibco.ep.streambase.configuration.sbengine
is now deprecated. - Configuration Property distributionListenerInterfaces.secure is Deprecated
-
The
distributionListenerInterfaces.secure
property in configuration files of typecom.tibco.ep.dtm.configuration.node
is now deprecated. Use thesecureCommunicationProfileName
property instead. - New Methods Now Added to Test Framework Results Class; Other Methods Deprecated
-
The
Results.toDtmResults
,Results.getStatusMessages
, andResults.error
methods in thecom.tibco.ep.testing.framework
package are deprecated. They are replaced withResults.getCommandResults
,Results.getCommandStatusMessages
, andResults.getErrorMessages
respectively. Update any test source accordingly. See the Java API documentation for details. - Parallel Region Queue System Properties Deprecated
-
The following StreamBase Java properties for parallel region queue configuration are now deprecated:
streambase.runtime.stream-queue-timeout streambase.runtime.stream-queue-max-batch streambase.runtime.stream-queue-timeout-report-threshold streambase.runtime.stream-queue-max-tuples streambase.runtime.stream-queue-memory-percent streambase.runtime.stream-queue-initial-buffer streambase.runtime.stream-queue-drain-before-shutdown streambase.runtime.stream-queue-distribution-policy streambase.runtime.stream-queue-max-buffer streambase.runtime.stream-queue-wait-strategy Configure engine-wide parallel region queue properties via the parallelRegionQueues object. For backward compatibility, if your configuration includes both system and HOCON properties, the system properties take precedence.
- Web Server Information Removed From Display Node Command
-
The epadmin display node command no longer shows web server information in its output. Instead, use the display web command to show web server information.
- Studio Subversive Plugin Deprecated
-
The Subversive SVN Team Provider plugin that is included in Studio to support Subversion is now deprecated and expected to be removed in a future release.
- Support for the Flume External Adapter Removed
-
The Flume External adapter no longer functioned correctly in the StreamBase 10 Maven environment and has not been available on TIBCO's eDelivery site. Documentation referencing this adapter was removed in this release.
This release contains the following migration and compatibility notes.
- Adapter Configuration Format Now Changed
-
Certain adapters and operators require additional configuration beyond what you set in their respective Properties views. As of 10.5.0, the file format and configuration method changed and may affect you project migration, as described below.
- Adapter Configuration Now Supports HOCON Format
-
Configuring supported adapters and operators using an
adapter-configurations.xml
is no longer required or preferred; configuration is now supported in HOCON format. If your project contains anadapter-configurations.xml
file, Studio offers to convert it for you using a new button located in the supported adapters' and operators' Properties view. - New HOCON Root Object For Adapter and Operator Configuration
-
The HOCON type
com.tibco.ep.streambase.configuration.adapter
now includes a new root object,AdapterGroup
. See this page to learn more. - XML Format Deprecated
-
The XML configuration format is deprecated and continues to be supported for backward compatibility.
- StreamBase Samples Containing XML Now Updated to HOCON Format
-
Prior to 10.5.0, the following samples contained adapters or operators that required the
adapter-configurations.xml
file format. They now use the HOCON format.
- Node Management Commands no Longer Require SSH to Manage Nodes Running on Remote Hosts
-
The following node management commands no longer require Secure Shell (SSH) to manage nodes running on remote hosts:
-
start node (when servicename or adminport are specified)
-
stop node
-
terminate node
-
remove node (when servicename or adminport are specified)
-
kill node
The exceptions to the above are:
-
Removing a remote node created with 10.4.x or earlier release still requires SSH.
-
A node created with release 10.4.x or earlier but
never
started cannot be started for the first time by a 10.5.0 or later release of the epadmin start node command. The start node command will fail in this case. However, there is no incompatibility if you previously started the node with a pre-10.5.0 release. -
The
Last Start Time
field reported by the epadmin display node command will not be updated if you use a release 10.5.0 or later release of start node to start a node created in an earlier release.
-
This section describes known limitations as of the current release of the TIBCO StreamBase® component of TIBCO® Spotfire Data Streams. Each item includes a tracking number, description, and workarounds when possible.
Known limitations for using the EventFlow debugger are described separately, in the Limitations, Tips, and Tricks section of the Using the EventFlow Debugger page.
SB‑47505 | REST API: POST endpoint does not work if parameter is specified. | |
Description |
A limitation currently prevents the uploading of generated files from the POST target command endpoint, when parameters are specified with the sent command. |
|
Workaround | None. | |
SB‑47332 | TensorFlow Adapter users may see DLL error (Windows). | |
Description |
In some cases, users running the TensorFlow adapter on Windows may encounter DLL errors. The error is caused by an internal TensorFlow API issue, not the adapter itself. |
|
Workaround | None. | |
SB‑46516 | Engine configuration for jvmArgs not being merged. | |
Description |
Engine configurations do not correctly merge jvmArgs; any differences in configurations are quietly ignored. |
|
Workaround | None. | |
SB‑46512 | On Windows, the epadmin install node command fails if the node directory path length exceeds 256 characters. | |
Description |
The epadmin install node command fails if the length of the node directory path exceeds 256 characters. |
|
Workaround | This might be a Windows limitation, in which case, use fewer than 256 characters as a workaround. An issue prevents StreamBase's method for resolving long file paths to succeed. | |
CQS‑4679 | All identical adapters and operators in an application that use the Operator getlogger() method share the same log level configuration. | |
Description |
If you have multiple identical StreamBase or LiveView operator or adapter instances based on a given Java class in a StreamBase fragment, they all share a Logger object, and the log level of the last instance to be initialized is used. |
|
Workaround | Parameterize the log level of all the adapters of a specific class and expose that parameter through the fragment's engine.conf file.
|
|
SB‑46022 | Nested list fields are not supported in replica delta streams. | |
Description |
Nested list fields are currently not supported in replica delta streams. They are instead skipped with a warning log message. |
|
Workaround | None. | |
SB‑46208 | Multiple aliases to the same method not allowed until release 10.4.3. | |
Description |
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. |
|
Workaround | Upgrade to release 10.4.3 or later and use the methodName property in your HOCON alias definitions. | |
SB‑45974 | Workspace error after importing a project with dependencies on JARs not present. | |
Description |
You may encounter saved Studio projects that have dependencies on JAR files that cannot be shipped with that saved project, such as JARs with licenses independent of StreamBase. In some cases, such projects cannot be resolved, even with > . This can happen with StreamBase examples that use TIBCO EMS, because the JAR files that implement EMS are licensed separately from StreamBase. |
|
Workaround | Before trying to run such projects, obtain the referenced JAR files from their vendor and Maven-install them to your local Maven repository (or to a site-specific network repository), as described in Using External JAR Files. | |
SB‑45757 | Typecheck failure: "Could not find" resource file. | |
Description |
The EventFlow Editor can get into a state where a resource file, such as a CSV file used to preload a Query Table, is not found during typechecking, resulting in a typecheck failure with no corresponding entry in the Problems view. |
|
Workaround | Re-run the EventFlow Editor's typechecker with with Ctrl+T (Windows) or Cmd+T (Mac). Note that the menu command Refresh Project Typecheck Environment invoked with Ctrl+F5 (Windows) or Cmd+R (Mac) does not resolve this condition; you must run the Editor's typechecker independently. | |
SB‑45183 | ResourceUnavailableException after stopping two nodes and restarting one node. | |
Description | When stopping more than one node in a cluster, on restart of just one of the stopped nodes a ResourceUnavailableException error can be thrown.
|
|
Workaround | Restart all the stopped nodes concurrently or reinstall the node before restarting. | |
SB‑45182 | Default availability zone may not be created correctly when cluster stopped and started. | |
Description | If a node in a cluster is stopped and then restarted, the default availability zone may not be created correctly. | |
Workaround | Remove the node and reinstall before starting. | |
SB‑45146 | Welcome launch bar shows a large red square. | |
Description | The Welcome launch bar that appears in Studio's bottom right status bar is missing an icon, which the system replaces with a red square. On Windows, this red square can be confused with the Console view's red Terminate button. | |
Workaround | None. | |
SB‑44167 | iPhone connected to Mac can cause node launch failures. | |
Description | Conditions: an iPhone is connected to a Mac with a USB-to-Lightning cable (including USB-C-to-Lightning cables) while Personal Hotspot is NOT enabled on the iPhone. Under these conditions, StreamBase Runtime nodes can fail to start, possibly emitting an error message similar to "can not see the local file system. Deploy to remote nodes is not supported." | |
Workaround | Unplug the iPhone, or enable Personal Hotspot (whether or not you actually use Personal Hotspot). | |
SB‑43476 | With SSL-TLS enabled for a StreamBase server launched in an EventFlow fragment, clients connecting to this server must specify trustStore and keyStore information. | |
Description | The ClientAPIListener object can be configured to reference a secure communication profile, and that profile can specify an SSL-TLS configuration.
In this case, when Studio launches this fragment, all clients that connect to the resulting StreamBase server — including
sbc and epadmin — must specify the location of and passwords for the configuration's trustStore and/or keyStore infrastructure.
|
|
Workaround | You can specify the required information (a) as described in the –J section of the sburi reference page, and (b) as described for LiveView on Using TLS/SSL with LiveView Server.
|
|
SB‑42478 | Cluster Monitor fails to start in the same cluster as monitored. | |
Description | Attempting to start the Cluster Monitor in the same cluster as other applications can fail. | |
Workaround | Run the Cluster Monitor feature in a separate cluster from the one containing the applications being monitored. | |
SB‑42410 | Duplicate engine log files. | |
Description | Duplicate engine log files exist in both the node directory's top level and in its logs subdirectory. The other user visible log files are now all located in the logs subdirectory.
|
|
Workaround | None. The engine log files in the node directory's top level can be ignored. The same information is available in the engine
log files found in the logs subdirectory. The duplicate log files are expected to be removed in a future release.
|
|
SB‑42324, SB‑30773, SB‑30846 | Inconsistent containerName behavior. | |
Description | If you define a StreamBase container name with the containerName parameter of the sbengine HOCON configuration type, the runtime behavior is different for fragments run in Studio compared to epadmin launches. Studio places the EventFlow module in a container named default, following standards set in StreamBase 7.x, whereas epadmin honors the configuration-set container name.
|
|
Workaround | None. | |
SB‑42093 | Reloading the entire node configuration when attempting to configure the cluster monitor fails. | |
Description | Attempting to reload a cluster monitor configuration embedded in a node deploy configuration file using the epadmin load configuration command quietly does nothing. | |
Workaround | Create a separate configuration file with just the cluster monitor configuration and load and activate that configuration. | |
SB‑41896 | Studio Support Wizard screen capture can fail on Mac. | |
Description | The StreamBase Support Wizard screenshot feature preview may not display properly under certain multi-monitor and/or Retina display hardware conditions. | |
Workaround | Use the Support Wizard to guide you to continue; the Support zip file will still contain the screenshot that you can verify in the archive prior to sending to TIBCO. For more information on the Support Wizard, see StreamBase Support Wizard for Troubleshooting. | |
SB‑41099 | Calling Help via management API throws null pointer exception | |
Description | Executing help commands using the DtmCommand.execute method in the management API fails with an exception.
|
|
Workaround | None. This issue is expected to be resolved in a future release. | |
SB‑35326 | Shutting down at debugger breakpoint causes engine to fail with an error. | |
Description | Stopping a JVM with a breakpoint set in the debugger can cause the JVM to exit with an error that requires the node to be removed and reinstalled. | |
Workaround | Ensure that no breakpoints are set in a debugger when shutting down a JVM. | |
SB‑32239 | Bogus FATAL Invalid response trace seen when stopping a node.
|
|
Description | When deploying fragments, a misleading fatal error message may be returned when terminating the fragment or the node on which
it is deployed. For example:MESSAGE: dtm : FATAL(RQ:A.dstest): Invalid response: <ready/> |
|
Workaround | This message can be safely ignored. | |
SB‑31125 | Cluster-wide queries fail for disk-based Query Tables | |
Description | Cluster-wide queries do not work on disk-based Query Tables. | |
Workaround | None. | |
SB‑30948 | Trouble using the TERR operators on macOS. | |
Description | On macOS, EventFlow modules that use the TERR operators with TERR versions before 4.4 fail to start even when using the Use Embedded TERR check box. This includes the TERR operator samples shipped with StreamBase. | |
Workaround | If you can, update to TERR 4.4 or later, which is included with StreamBase 10.2.1 and later. If you must use a TERR version before 4.4, there are extra configuration steps on macOS, compared to Windows and Linux. These steps are detailed in the Operating System Configuration for TERR sections of the pages that describe the TERR Operator and the TERR Predict Operator. | |
SB‑30898 | On Windows only, virtual network adapters slow fragment startup with StreamBase before 10.3.0. | |
Description | If you have Oracle VM VirtualBox® or Microsoft Hyper-V installed, and one or more of your virtual machines has its virtual network adapter activated, this slows down the launch of EventFlow and LiveView fragments into a StreamBase Runtime node by several minutes. | |
Workaround | Upgrade to StreamBase 10.3.0 or later, where this issue is corrected. If you must use an earlier release, temporarily disable the network adapter feature of your VirtualBox VMs as described in Windows and Virtual Network Interfaces. | |
SB‑30270 | Failure to start Studio or Manager by double-clicking on macOS Sierra or High Sierra | |
Description | MacOS releases 10.12 Sierra and 10.13 High Sierra have a security model that is stricter than previous releases. As part of
their security, these releases automatically block unsigned, downloaded application bundles with .app extension from being able to run. Unfortunately, this affects the application bundles for StreamBase Studio 10.x and StreamBase
Manager 10.x.
|
|
Workaround | See the list of suggested workarounds in Starting StreamBase Studio on macOS Sierra. | |
SB‑29050 | Error when debug stepping into or stepping over a Decision Table operator. | |
Description | When using EventFlow debugging, stepping into or over a Decision Table operator is not supported. | |
Workaround | Set your breakpoints upstream or downstream. Also, consider using the features of the Decision Table Analyzer to get a debug-like view of how the operator responds to different input tuples. | |
SB‑28856 | Deleting decision table rows does not re-number rule IDs. | |
Description | When using the Decision Table editor to delete and then add a new decision table rule, the rule ID does not renumber. For example, by deleting row 5 and adding a new row, the rule ID numbering is now 1...4, 6. | |
Workaround | None. | |
SB‑28669 | Error message: Grows beyond 64KB. | |
Description | In rare cases, compiling small StreamBase applications can produce an error message containing the words Grows beyond 64KB .
|
|
Workaround | Contact TIBCO StreamBase Technical Support for a workaround for this issue. | |
SB‑28598 | Multi-container StreamBase applications cannot use the same ActiveSpaces metaspace. | |
Description | StreamBase applications deployed with multiple containers receive metaspace already exists errors when attempting to connect to the same TIBCO ActiveSpaces metaspace from different containers.
|
|
Workaround | None. | |
SB‑28452 | Delta stream arc limitations in the EventFlow Debugger. | |
Description | If a delta stream arc is a direct connection between a Query Table and an Output Stream, and if that arc has a Debugger breakpoint, the breakpoint is not hit at during debugging with the EventFlow Debugger. Similarly, while debugging, stepping over to try to reach that arc does not suspend on that arc. | |
Workaround | Insert a no-op Map operator between the Query Table and the Output Stream. Then a breakpoint on the arc between the Query Table and the Map does work, and stepping over reaches that arc as well. | |
SB‑26629 | RPM installation method issues on RHEL 7 | |
Description | StreamBase and LiveView are supported on Red Hat Enterprise Linux version 7.x. The archive installer is the recommended installation
method. If you use the RPM installation method, RHEL 7 issues several warning messages during installation that complain about
file removal failures, and issues an overall warning that RHEL 7 "may not be compatible with this version of StreamBase."
Despite these warnings, the installation does succeed. The only consequence is that |
|
Workaround | Remove StreamBase directories manually to uninstall an RPM installation on RHEL 7. Otherwise, all StreamBase and LiveView processes run as expected on RHEL 7. | |
SB‑26927 | Error message .
|
|
Description | In compiling the updating expression for a dynamic variable where the expression references a named schema, if a field in
the tuple presented by the updating stream also has the same name as the named schema used in the expression, the field is
instead evaluated as a function. This raises the error . This compilation behavior and language ambiguity was introduced along with the function data type.
|
|
Workaround | The required migration step is to rename either the field or the named schema to eliminate the ambiguity. | |
SB‑26237 | Constant definitions used as component properties are not used at runtime. | |
Description | StreamBase Studio properly typechecks defined constants when used in operator properties, but at runtime substitutes their names instead of their values. | |
Workaround | Do not use defined constants when specifying operator properties. | |
SB‑26017 | Asynchronous timeouts for Gather operators in parallel applications can be inaccurate | |
Description | High availability applications that include Gather operators may incorrectly compute timeout intervals because the operator relies on now() instead of calling out to the parallel scheduling service. | |
Workaround | None | |
SB‑22297 | Commented-out error input streams consume error tuples. | |
Description | An error input stream, despite being disabled with the EventFlow comment-out feature, still catches errors thrown, but consumes any incoming errors and fails to pass them on. | |
Workaround | To temporarily disable error streams, copy them to a placeholder module and remove them from the active module. | |
SB‑21843 | In the TableAccessor API, ClassCastException is thrown if not using a Tuple from TableAccessor#createRow. | |
Description | If methods in the com.streambase.sb.operator.TableAccessor interface that accept a Tuple are not provided a Tuple retrieved from TableAccessor#createRow , a ClassCastException may be thrown by the API.
|
|
Workaround | Always use TableAccessor#createRow when using TableAccessor API methods.
|
|
SB‑20449 | Display issues with years before 2 AD. | |
Description | The timestamp data type can hold timestamp values in the range -(2^62) to (2^62)-1, and can successfully display any future date in the next 146 million years and any past date to around year 2 AD. However, the year value for dates earlier than 2 AD may not display correctly. | |
Workaround | None. | |
SB‑18294 | Union operator: sub-field order of tuple fields must match with strict options. | |
Description | When using the Union operator with its Strict union or Declared schema options, the order of sub-fields of tuple fields must match exactly. This is in contrast with the default Loose union option, where strict sub-field ordering is no longer required. | |
Workaround | None. | |
SB‑16594 | Extract as Module feature copies items instead of importing them. | |
Description | The Extract as Module feature makes a copy of the source module's definitions and named schemas, and places the copies in the newly created module. Best practice would be to import those features from the source module to the new module, and to copy all imports from the source to new modules. | |
Workaround | After using Extract as Module, manually convert the copied definitions and named schemas to imports. | |
SB‑14133 | On Linux, sb-config --cxx returns a setting for G++ newer than 4.5. | |
Description | On Linux, in StreamBase samples that build C++ code, some of the example Makefiles show sb-config --cxx as the correct usage to determine the G++ compiler to use. On newer Linux distributions, this command returns the distribution's default G++ compiler, which may not be supported for building StreamBase client code, and sb-config does not honor the CC and CXX environment variables. | |
Workaround | On such systems, install GCC and G++ 4.5, and edit the Makefiles to specify CXX=g++-4.5 .
|
|
SB‑13398 | Filter operators with very large predicate settings may result in a runtime EvalException error. | |
Description | Filter operators with several output ports and complex expressions to evaluate for each port may result in a com.streambase.sb.runtime.exceptions.EvalException error when attempting to run the application that contains such a filter.
|
|
Workaround | Add another Filter operator and split the predicate settings between the two Filter operators. | |
SB‑13113 | Output Streams view does not display UTF-8 characters. | |
Description | Both StreamBase Server and StreamBase Studio are fully capable of processing and displaying Unicode character sets, but neither is set to do so by default. | |
Workaround | Follow the instructions in Unicode Support to configure StreamBase Server, Studio, and any StreamBase client applications to process the UTF-8 character set. | |
SB‑10792 | The Query operator converts a JDBC data type differently when using explicit schemas than when using database data types. | |
Description | When explicit schemas are used, the Query operator does not use database metadata to determine the mapping between JDBC data
types and StreamBase data types. The JDBC data type Types.TIME is normally converted to an interval timestamp since it has a time, but no date component. But when explicit schemas are
used, there is no database type information, so Types.TIME is converted to an absolute timestamp.
|
|
Workaround | None. | |
SB‑10486 | Hierarchical data restrictions. | |
Description | Patterns by value do not support using the tuple data type for their on-value portion. Similarly, tuple subfields cannot be used as the index or primary key of a Query Table. | |
Workaround | Design schemas so that the intended sort field or key is a top-level numeric or timestamp field, as described in StreamBase Pattern Matching Language. | |
SB‑10363 | No StreamBase data type corresponding to Sybase timestamp. | |
Description | When used with Sybase data sources, EvenfFlow fails to convert timestamps, resulting in typecheck errors. This is because
the Sybase timestamp is based on the Sybase varbinary data type.
|
|
Workaround | In EventFlow code that will be used for Sybase data sources, use the Sybase datetime data type instead of timestamp .
|
|
SB‑6862 | Not all databases have native blob support. | |
Description | For example, Microsoft SQL Server and Sybase do not have blob support. For these databases, you can write blobs into varbinary and possibly other types. But when blobs are read from a select statement, they are returned as strings, not blobs. | |
Workaround | Add a Map operator and convert the string to a blob. | |
SB‑5882 | Tuple dimensions do not reset counter when another dimension closes a window early. | |
Description | A tuple-based dimension that closes due to other dimensions (for example, after another dimension times out) does not reset its counter. When this happens, the next window will close based on the total number of tuples received, resulting in a partially full dimension. | |
Workaround | None. | |
SB‑4559 | Join timeout is not asynchronous. | |
Description | Join timeout in the Join operator is not asynchronous. That is, the Join operator does not remove a tuple from its buffer until the timeout has passed and another tuple arrives on the same input stream. Tuples received on one input stream do not affect the buffer of the other input stream. | |
Workaround | None. |
This section provides a list of errors corrected in release 10.5.0 of the TIBCO StreamBase® component of TIBCO® Spotfire Data Streams.
Fixed in 10.5.0 | |
---|---|
Number | Resolution |
TIBCO StreamBase® 10.5.0 incorporates all fixes resolved in the release 10.0 series through 10.4.4 and all fixes resolved in the release 7.7 series through 7.7.7. | |
SB‑47796 | Some third-party dependencies required by the UMDF adapter were previously excluded from the High Performance FIX installation kits. This was fixed. |
SB‑47520 | In previous releases, for an EventFlow fragment with a configuration file that specified Java system properties, those properties were not recognized when running the same fragment as an EventFlow Fragment Unit Test. The cause was identified and corrected. |
SB‑47414 | An internal configuration issue was causing a delay when validating the XML format of LiveView configuration files. This was corrected. |
SB‑47412 | Query Tables stored in transactional memory were not maintaining null values for boolean fields. This was corrected and null values are now correctly maintained. |
SB‑47366 | The Amazon S3 via HDFS sample included an example S3 XML configuration file that incorrectly used the .conf extension. This caused the sample to fail because the StreamBase Runtime considers any .conf file in the Maven classpath to be a HOCON configuration file for the current fragment. The S3 configuration file was renamed
to have the .xml extension, and all references to the file were updated.
|
SB‑47359, SB‑32417 | In previous releases, application definition and node deploy configurations were processed only if the node was started and
had an application engine. Configurations loaded before node startup resulted in the configuration state being changed but
the behavior associated with the state change not being invoked.
Starting with release 10.5.0, these configurations are processed in all cases: with the node stopped, node started without an application engine, or node started with an application engine. |
SB‑47272 | Aggregate operators stored in transactional memory would fail to compile in certain cases. This problem was corrected. |
SB‑47167 | Query Tables in transactional memory were not rolling back commits during a failover. This resulted in incorrect data in the Query Table. This problem was corrected. |
SB‑47165 | Deleting rows in a Query Table stored in transactional memory not using the primary index failed to delete the rows. This error was corrected. |
SB‑47164 | Previously, decision tables cells allowed timestamps with negative timezone offsets such as: 2016-03-17 15:02:24.333-0700 but not with positive timezone offsets such as: 2016-03-17 15:02:24.333+0700. Positive timezone offsets in decision tables now pass typecheck. |
SB‑46992 | On a single machine, if a node was stopped within a running cluster, and another node, with a different cluster name was started, it could incorrectly join the first cluster. This was corrected. |
SB‑46973 | When deactivating a node deployment configuration file, nodes can hang if the partition definitions depend on each other. This typically effects unit test cases. During deactivation of a node deployment configuration file, the unnecessary deactivation of partitions was removed. |
SB‑46566 | When an application contained an eFTL Connect adapter with a linked subscriber adapter, the linked subscribe adapter would try to subscribe on upon connection, even if the matcher is blank. Now, empty matchers are ignored. |
SB‑46564 | An issue caused the eFTL Subscribe adapter to use the incorrect default for Durable Key. The adapter was fixed to allow a null Durable Key value. |
SB‑46306 | If a node is stopped and quickly restarted, occasionally the automatic rebalance of the default availability zone can fail. The node startup process was fixed to avoid this case. |
SB‑46300 | A problem was resolved with the handling of Query notifiers and non-unique, ordered keys consisting of three or more fields. |
SB‑45775 | When switching a Query Table's schema from a Named Table Schema to a private schema, a NullPointerException could occur. This problem was fixed. |
SB‑45660 | An issue prevented default logging configuration from being overridden. This was fixed. |
SB‑45585 | The default storage method for parallel region queues is now correctly inherited from the module storage method. |
SB‑45579 | There was an intermittent and typically uncommon potential problem where — during Studio shutdown — Studio's Error Log view
could gather a list of entries, each with the message, An internal error occurred during: Refresh Cluster view . The log entries were about a temporary condition that otherwise had no adverse effect. This was resolved.
|
SB‑45242 | While debugging, if Studio's connection to the server was lost (for example, if the server died unexpectedly), Studio might have left an exception traceback in Studio's Error Log view. That problem was fixed, and no such Error Log entry now appears for this situation. |
SB‑45186 | The SeqNum Variable Description, in the Run Configurations dialog's Node Name Variables options, was updated to be more legible. |
SB‑45147 | When running the Cluster Monitor application, a deadlock during shutdown prevented the node configuration from being removed. This was fixed. |
SB‑44271 | Authentication realms are no longer removed when the node is stopped. This means that users added to the realm using add user will not longer be removed by the epadmin stop node command. |
SB‑42923 | The container name can now be defined in the EventFlowDeployment configuration file as default without causing an error in the runtime.
|
SB‑37043 | Starting several nodes at the same time, perhaps by specifying a cluster name as the servicename parameter, could result in a duplicate timestamp error. This was corrected.
|
SB‑32169 | In some cases, the epadmin start engine command allowed engines to start before the node started. The command now fails if executed on a stopped node. |
SB‑31285 | On Windows, epadmin install node command would fail if the length of the engine log file path was greater than 230 characters. This was fixed. |