Contents
TIBCO® Streaming 10.6.1 adds the following updates and new features:
- Web-based Administration Application Introduced
-
Release 10.6.1 introduces a preview edition of the TIBCO Streaming Web Administration Interface. This web-based application offers secure cluster management and configuration convenience from one location, including:
-
Dynamic service discovery.
-
Hierarchical views of clusters, with the option to drill down to the specified managed entity.
-
Node lifecycle management, including node install/stop/start/removal.
-
Application lifecycle management.
-
Logging management.
-
Security management.
-
- New Operators Introduced
-
Release 10.6.1 introduces the following operators:
-
The TIBCO StreamBase® Data Point To Schema Operator, which is used to convert text-based name field value pairs into StreamBase named schemas. See this page for the operator sample.
-
The TIBCO StreamBase® Field Gather Operator is used to gather fields of the input tuple over various styles of output types such as over time or by selected values. See this page for the operator sample.
-
The TIBCO StreamBase® Matrix Operator is used to gather tuples over various styles of output types such as over time or by selected values. See this page for the operator sample.
-
- New JMX Adapter Suite Introduced
-
Release 10.6.1 introduces the TIBCO StreamBase® Adapter for JMX, which is comprised of the following adapter components:
See this page for the adapter sample.
- New Oracle Version Supported for JDBC Access
-
StreamBase now supports JDBC access to tables on Oracle 19c and MySQL 8.
- Cluster Monitor Now Supports TLS
-
TLS connections are now supported between the client and the Cluster Monitor application. Other enhancements introduced in this release include a streamlined configuration to improve application efficiency. See this page for details.
- JDBC Operator Integration with Runtime Transaction Processing
-
The JDBC operator now provides the option to integrate each JDBC transaction with StreamBase Runtime transaction processing, such that the JDBC transaction commits or rolls back when the Runtime transaction commits or rolls back.
The Runtime transaction completes when the tuple exits the parallel region. Enable this feature in the configuration of the operator's JDBC Data Source by setting the new transactionBoundary property to PARALLEL_REGION. When set, the JDBC transaction commits when the tuple exits the parallel region. If this property is not set or is set to OPERATION, then each statement executed by the JDBC operator executes in its own JDBC transaction.
- Decision Table Operator Enhanced
-
The Decision Table operator now includes an optional Required on Startup field. Using this field allows the operator to wait for a decision table to load before completing initialization. This can prevent problems for applications that need to ensure that all decision tables are loaded before processing any tuples.
- JMS Request/Reply Operator Enhanced
-
The JMS and EMS Request/Reply operator has a new property, identical to the one on the Consumer operator, to allow the use of a dynamically-created destination for sending requests (as opposed to a predefined one in the adapter's configuration file).
- Documentation to Run Docker Containers Updated
-
This release includes a thorough rewrite of the setup steps for creating and running Docker containers for EventFlow fragments from StreamBase Studio. There are new instructions for creating and running LiveView fragments in Docker containers, including an Important note about setting Docker Desktop memory to allow LiveView fragments to run at all.
This release includes the following changes in functionality:
- Behavior Change for epadmin secret
-
The data and keystorepassword parameters for all three epadmin secret commands are now marked as required parameters on the command line.
The following features are deprecated as of StreamBase 10.6.1.
- StreamBase Health Report Option Removed From StreamBase Support Wizard
-
The optional StreamBase Health Report check box was removed from the StreamBase Support Wizard as of 10.6.1, to accommodate the removal of its underlying
sbhealth
component in 10.6.0. To generate a diagnostics report, use the epadmin create snapshot command instead.
This section describes known limitations as of the current release of the TIBCO StreamBase® component of TIBCO® Streaming. 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‑49208 | Project names with underlines cause problems for application projects with Docker and Kubernetes or Helm support. | |
Description |
Studio-generated StreamBase Application projects that elect the Docker and Kubernetes options generate a Docker image without errors, but fail to deploy in Docker. |
|
Workaround | Start over with a new project name without underlines. | |
SB‑49017, SB‑49004 | TERR operators not functional on Mac for release 10.6.0 with its bundled TERR version. | |
Description |
TIBCO Streaming 10.6.0 includes version 4.4.0 of the TIBCO® Enterprise Runtime for R (TERR), Developer Edition. Streaming 10.6 also introduces the requirement to use Oracle Java 11. Unfortunately, TERR 4.4 is not compatible with Java 11 on macOS. |
|
Workaround |
Download and install TERR 5.0, then either set a global TERR_HOME environment
variable or configure your TERR operators to use that external TERR, or both.
Follow the instructions in Installing an Alternate TERR
Version for the TERR and TERR Predict operators.
You can download a copy of TERR 5.0 Developer Edition from the TIBCO Access Point. Remember that to use TERR on a production server requires a license for the Enterprise Edition of TERR, for use either with TIBCO® Streaming or with TIBCO Spotfire® Data Streams. |
|
SB‑48960 | OIDC realm does not work with web service Help UI page. | |
Description |
The Help UI page generated from a running web service does not currently support the Open ID Connect authentication realm. |
|
Workaround | None. | |
SB‑47332 | TensorFlow Adapter users may see DLL error on 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 one Logger object, and the log level of the last instance to be initialized is used. |
|
Workaround |
Parameterize the log level of all 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‑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.6.1 of the TIBCO StreamBase® component of TIBCO® Streaming.
Fixed in 10.6.1 | |
---|---|
Number | Resolution |
TIBCO StreamBase® 10.6.1 incorporates all fixes resolved in the release 10.0 series through 10.6.0 and all fixes resolved in the release 7.7 series through 7.7.8. | |
SB‑49347 |
If a Streaming node A in a cluster is stopped when a Streaming node B is
stopped, removed, re-installed, and re-started, then when node A is
re-started, deploying an artifact from AMS to the Artifact Distribution
Service can fail with the error message: An [uncaught
user] exception occurred during processing of the epadmin request.
This was fixed.
|
SB‑49271 | This release resolved an issue that prevented running the New Decision Table wizard. |
SB‑49200 | The LDAP adapters were updated to correct an error in the SizeLimit property, and to emit an empty marker tuple sent on the results output port (in addition to the error tuple being sent to the status port), in the event of an error occurring during a search. |
SB‑48147 | In some cases, starting or stopping multiple nodes in the same cluster simultaneously would fail to start or stop. This problem was resolved; multiple nodes in the same cluster can now be simultaneously started and stopped successfully. |
SB‑47505 | A limitation previously prevented the uploading of generated files from the REST API: POST target command endpoint, when parameters were specified with the sent command. This was resolved. |