TIBCO® Spotfire Data Streams 10.4.1 adds the following updates and new features:
- Oracle LogMiner Adapters Added
This release adds the following two adapters, which when used together, allow a StreamBase application to monitor changes to an Oracle 12c and later database using Oracle LogMiner:
These adapters are illustrated in a sample.
- WITSML Operator Now Includes Data Output Options
The WITSML Log Data Converter operator now has an Output Type option to output data as a list of key-value pair tuples. This new option is designed to enable more generic data use.
- Web Server Adapters Now Support SSL for Both HTTPS and wss
- WebSocket Client Adapter Now Supports wss
The TIBCO StreamBase® Read Adapter for WebSocket Client now includes an Advanced tab to support wss configuration.
- Python Operators Enhanced
The Python operators were enhanced as follows:
The Python Operators now support pulling artifacts from a running TIBCO Artifact Management Server, which is a separately installed product. See the operator page for details.
The operators support loading models stored as resources in StreamBase projects. See Running the P04-Script-Resource Sample in the Python sample page, which demonstrates three ways to load a Python script.
- Generated Log Messages for Initialized Default Availability Zone Improved
The number of log messages generated when the default availability zone is initialized are both significantly reduced and made clearer.
- Stop Node Error Message Clarified
When a node stop is requested, but some of its configuration cannot be deactivated, the error message that appears now includes the path of the engine log relative to the node directory.
- New Options Added to epdev Command for Maven Artifact Management
Three new clean-related arguments and the maven-home option were added to the epdev command for Maven artifact management and cleanup. See the epdev reference page or epdev --help for further information.
- Oracle JDK Version Updated
The Oracle JDK version bundled with StreamBase and Live Datamart is now JDK 1.8.0_u191.
- StreamBase Runtime Now Supports Amazon Linux 2
The StreamBase Runtime now supports the Amazon Linux 2 operating system. For StreamBase support details, see this page.
- StreamBase Studio Now Supports macOS 10.14 Mojave
Studio now supports macOS 10.14 Mojave as a development environment. However, Mojave's dark mode is not supported because of Eclipse compatibility issues. When first selecting the Open StreamBase Command Terminal Here feature in Studio, you are prompted for permission to control the terminal.
- Oracle VM VirtualBox 5.2 Now Supported for Runtime Deployments
StreamBase Runtime deployments are now support Oracle VM VirtualBox 5.2 as a Docker environment.
This release includes the following changes in functionality:
- Studio Displays Additional Progress View Details When Loading Workspace
When Studio opens a workspace, several system checks occur that previously could briefly show a blank EventFlow Editor canvas, depending on how many projects are being checked. Studio now displays a message at the top-left of the canvas that reads
Verifying project dependencies...Clicking the message brings up the progress view to show details about the ongoing operation.
- Version Information Now Checked for Java Projects
Studio now checks the version information for Java fragment projects, to make sure it matches the currently installed version of StreamBase. An Eclipse Quick Fix is offered to bring the versions up to date when necessary. (This check was formerly performed only for EventFlow and LiveView fragment projects.)
- Add Container Command Integrated with Artifact Distribution Service
The epadmin add container command was integrated with ADS so that the container's operators now receive artifact notifications when the container is added via epadmin.
- Default Availability Zone Now Created Upon Node Start
Prior to this release, a default availability zone was not created until a fragment was launched. Now, the availability zone is created when the node starts; a fragment launch is not required. This behavior change is expected to improve stop and restart performance on slower machines.
- Manual Input View Now Shortened
Studio no longer automatically widens the Manual Input view to accommodate the longest text in the Fragment drop-down list. Prior to 10.4.1, the Manual Input view in the SB Test/Debug perspective could become too wide if its Fragment drop-down list contained long text, which could possibly push nearby buttons out of sight to the right or down.
Hover over the drop-down list to display all the text in a tooltip.
- Confirm Node Stop Dialog Now Includes
Do Not Show This AgainCheck Box
For convenience, in the Clusters view, the Confirm Node Stop Dialog now includes a Do Not Show This Again check box.
- Kafka Consumer Commit Adapter Now Links Qualified Names to Kafka Consumer Adapter
By design, the Kafka Consumer adapter does not output the fully qualified adapter name with each tuple. Now, the Kafka Consumer Commit adapter can optionally take in that fully qualified name to link back to the Kafka Consumer adapter to perform the commit.
- Date Format Now Changed on the WITSML Input Adapters and XML2Tuple Operator
Previously, the XML parser could not handle dates such as
2018-12-09T07:59:27.3057523Zbecause it used the SimpleDateFormat from Java. The WITSML Input adapters as well as the XML2Tuple operator now use a revised date format.
For example, this change replaces a string format such as
2018-12-09T07:59:27.3057523Zwith one that looks like
2018-12-09T07:59:27.305+0000before a parse is attempted.
StreamBase 10.4.1 has the following deprecations.
- Cluster Publisher and Subscriber Adapter Suite Now Deprecated
The TIBCO StreamBase® Cluster Publisher and Subscriber Adapter suite is now deprecated and is expected to be removed in a future release.
- StreamBase-to-StreamBase Adapter Suite No Longer Deprecated
The TIBCO StreamBase® SBD-to-SBD Input (Downstream) Adapter and the TIBCO StreamBase® SBD-to-SBD Output (Upstream) Adapter were previously announced as deprecated. As of this release, these adapters are removed from deprecation.
- Certain Twitter-deprecated Functionality Now Deprecated in Twitter Adapters
User Streams, Site Streams, and Direct Message endpoints are deprecated and longer available from Twitter. As a result, when trying to use those deprecated functions in the Twitter input or output adapters, the respective Status port now generates information regarding the deprecated API. For adapter configuration, see Twitter Input Adapter and Twitter Output Adapter.
- On macOS, Do Not Open Studio 10.4.0 After Using Studio 10.4.1
StreamBase Studio from release 10.4.1 will open your 10.4.0 workspace without requiring any conversion or upgrade. Thus, there should never be a need to return to using Studio from release 10.4.0 after installing 10.4.1.
This is not an issue on Windows, where maintenance releases replace the base
major.minorrelease. That is, you cannot have StreamBase 10.4.0 and 10.4.1 on the same Windows machine using standard installation procedures. On macOS, however, multiple StreamBase maintenance releases can easily coexist. Therefore, it is important on the Mac to not open Studio 10.4.0 once you have installed and used 10.4.1. And never open both Studio 10.4.0 and Studio 10.4.1 at the same time.
The reason is the shared configuration directory. Starting with release 10.4.0, StreamBase Studio maintenance releases use the same configuration directory as the primary release. That is, releases 10.4.1, 10.4.2, and so on, all use the same Studio configuration directory as the one initially configured for 10.4.0. This feature allows Eclipse plug-ins that you added to Studio in the base release to still be present when you install and use a maintenance release.
The configuration directory is not the Studio workspace, but is a separate storage location for Studio metadata. See Default Installation Directories .
This section describes known limitations as of the current release of the TIBCO SteamBase® component of TIBCO® Spotfire Data Streams. Each item includes a tracking number, description, and workarounds when possible.
|CQS‑4679||All identical adapters and operators in an application that use the Operator getlogger() method share the same log level configuration.|
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
|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 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
|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 launchbar shows a large red square.|
|Description||The Welcome launchbar 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.|
|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 while Personal Hotspot is NOT enabled on the iPhone. Under these conditions, StreamBase Runtime nodes can fail to start.|
|Workaround||Unplug the iPhone, or enable Personal Hotspot (whether or not you actually use Personal Hotspot).|
|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
|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
|SB‑42324, SB‑30773, SB‑30846||Inconsistent containerName behavior.|
|Description||If you define a StreamBase container name with the
|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|
|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.|
|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‑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
|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.|
|SB‑28669||Error message: Grows beyond 64KB.|
|Description||In rare cases, compiling small StreamBase applications can produce an error message containing the words
|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
|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.|
|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
|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.|
|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
|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.|
|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.|
|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
|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
|Workaround||Add another Filter operator and split the predicate settings between the two Filter operators.|
|SB‑13113||Application output 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
|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, both EvenfFlow and StreamSQL fail to convert timestamps, resulting in typecheck errors.
This is because the Sybase
|Workaround||In EventFlow or StreamSQL code that will be used for Sybase data sources, use the Sybase
|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.|
|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.|
This section provides a list of errors corrected in release 10.4.1 of the TIBCO StreamBase® component of TIBCO® Spotfire Data Streams.
|Fixed in 10.4.1|
|TIBCO StreamBase® 10.4.1 incorporates 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.5.|
|SB‑45617||Setting a status code on the Web Server Response adapter via the Status Code Field Name property now properly disconnects a websocket with that status code. Setting a null status code keeps the websocket active.|
|SB‑45616||The Web Server Response adapter could consume 100% of the available CPU at idle in some circumstances. This was fixed.|
|SB‑45592||There was a problem where, after starting a StreamBase application launch in Studio, if that launch was terminated relatively
early, an entry could appear in the Error Log view complaining of an
|SB‑45563||The MQTT Client Subscribe adapter would filter out inbound topics when matching against a wildcard. This was fixed.|
|SB‑45554||While using the EventFlow debugger, the Debug view may have incorrectly shown lines that started with
|SB‑45498||Any File Writer adapter could NPE if data was written before a file was opened. This was fixed.|
|SB‑45492||Configured node types were incorrectly treating fragment dependencies as top-level fragments in some cases, which incorrectly caused engines to be created for the dependent fragments. This was corrected.|
|SB‑45490||In some scenarios, Studio would prompt to save a file twice. For example, if you modified an EventFlow fragment and ran it without saving first, a dialog may prompt to Auto-Save unsaved changes. Declining to save may prompt again to save changes. This was fixed.|
|SB‑45473, SB‑45251||When hitting an EventFlow breakpoint during debugging, the current thread in Debug view is often not selected. To address this, Studio now adds two buttons to the Debug view toolbar. One is an up-arrow, the other is a down-arrow, and each has a small pause double-bar icon over it. You can use them to automatically find the next or previous suspended thread in the Debug view, and automatically select the top stack frame of that suspended thread.|
|SB‑45423||Direct output from a Python process is now propagated to the logging framework. Previously, the stdout and stderr streams from the Python process were redirected to the low-level streams of the JVM process running the StreamBase server. It was difficult to find the warning and debug statements that originated from the Python code. With this change, the output is processed as any other output from platform components using the common framework.|
|SB‑45395||This release fixes an issue in which the automated conversion of JMS adapter configurations, to HOCON format, added duplicate quotation marks to server and/or destination names, under certain conditions.|
|SB‑45362||The WITS adapters were updated to address potential socket communication failures. The adapters now use PureJavaComm version 1.0.2; new reconnection logic was also added.|
|SB‑45322||Running the epadmin display engine command could fail if your configuration's trusted host authentication was disabled. This was fixed.|
|SB‑45321||In Studio, the> option would fail when renaming input streams. The Refactor option was updated to now use StreamBase 10's fully qualified name convention.|
|SB‑45316||Schema typechecking was improved to catch an invalid null value being used to initialize a list.|
|SB‑45303||The WITSML Log Data Convert adapter would incorrectly assume the logCurveInfo contains an index field. If that field was not present but the mnemonicList field was present instead, the index would become out of order. The adapter now checks for the mnemonicList field in the logData field, and uses that as the column index for the logCurveInfo.|
|SB‑45280||An issue prevented WITSML write operators from filtering out empty values. This was fixed.|
|SB‑45264, SB‑45265, SB‑45266||The epadmin display engine and display services commands inconsistently displayed EventFlow service records for (a) URI information when engines were stopped, (b) applications
that were deployed with the
|SB‑45255||The epadmin display artifact command previously displayed the wrong artifact file path. The command now displays the path of the artifact file on the
node executing the command. Previously, it displayed the path of the file on the artifact's active node. If the artifact file
does not exist on the node executing the command then
|SB‑45253||It was possible for an epadmin browse services process to be left running after Studio exits. One use case was: open Studio and close the Clusters view in all perspectives and restart Studio. Then upon exiting Studio, such an orphaned epadmin process would be left behind. This was fixed.|
|SB‑45242||Removing the VM arguments from an EventFlow fragment launch had no effect on subsequent re-launches, until Studio was restarted. Changing the arguments such that some VM argument text remained DID work, however. This was fixed.|
|SB‑45241||The Diameter adapter was fixed so it now correctly checks AVP data lengths.|
|SB‑45240||This release fixes an issue in the Decision Table's Table Analyzer view that prevented the Analyze operation from functioning properly.|
|SB‑45234||This release fixes an issue with the presentation of some adapter settings in the StreamBase Properties view. For affected adapters, raw field names are displayed, with no customized support (descriptive names, tool tips, and so on). This issue affected the Feed Simulation and Microsoft .NET adapters, as well as LiveView Alert configuration.|
|SB‑45110||Changing the default distribution listener addresses using the
|SB‑43774||This release fixes an issue that affected editing Query Table schemas — with the Definitions tab open, Studio correctly grayed-out the Query Table's partitioning options yet incorrectly kept them active. This was fixed.|
|SB‑30850||Studio's adapter selection dialog could hang in cases where the selected adapter required Maven downloads. This was fixed.|