StreamBase Release Notes

TIBCO StreamBase 7.6

Date: 4 Nov 2015

This page contains the release notes for TIBCO StreamBase release 7.6.0.4.

Before You Install

Before you install TIBCO StreamBase® software:

  1. Read this Release Notes document.

  2. Confirm that your target system matches the hardware and software requirements discussed on Supported Configurations.

  3. Read the Installation Guide.

More Information

  • For a summary of what's new in this release, see New and Noteworthy.

  • If you are new to StreamBase, read Getting Started after installation.

  • See the documentation home page to begin exploring the StreamBase documentation. The StreamBase documentation set is available as part of your StreamBase installation in several ways:

    • In TIBCO StreamBase® Studio, select HelpHelp Contents from the menu. This is the best option, and provides a searchable help system.

    • On Windows, open All ProgramsTIBCOStreamBase n.mStreamBase User DocumentationStreamBase n.m User Guide - HTML

    • From the installed file system, open the documentation home page in a web browser. The default locations are:

      Linux and Solaris
          /opt/tibco/sb-cep/n.m/doc/index.html
      Windows
          C:\TIBCO\sb-cep\n.m\doc\index.html
      Macintosh OS X
          {customer-specific-folder}/TIBCO StreamBase n.m.x/doc/index.html
      

      To open the documentation directly to the TIBCO LIve Datamart sections, open the file lvindex.html instead.

    • If you were provided an installation DVD-ROM or disk image, open doc/index.html or doc/lvindex.html in a web browser.

Customer Support

Contact Information contains information about available support options. You can send us e-mail or get information from your TIBCO representative about our support portal.

Resolved Limitations

The following sections provides lists of errors corrected and features updated in each maintenance release of TIBCO StreamBase, in descending release order.

Limitations Resolved in 7.6.x

Fixed in 7.6.0
Number Resolution
TIBCO StreamBase® 7.6.0 incorporates all fixes resolved in the release 7.5 series through 7.5.4, and the release 7.4 series through 7.4.5.
SB‑28498 An issue where the Application Output view would fail to expand a list element that contained a file with null value was corrected.
SB‑28447 A possible Null Pointer Exception could occur when using a group-by field in the Additional Expressions tab of a Query operator. This was fixed.
SB‑28325 Previously, running the EventFlow trace debugger on a module having at least one Query Table could result in an Unable to parse trace metadata file error. The cause was identified and corrected.
SB‑28312 Studio would fail to open the JMS Configuration Editor when requested from an operator's Properties view if an XML editing session for one of the project's sbconf file was already open. Such requests were referred to the XML editing session. This no longer occurs, and, although it is against best practice, you can now have an XML editing session and a JMS Configuration Editor session open at the same time on the same sbconf files.
SB‑28298 Calling aggregate functions with aggregate functions as arguments was not reported as an error. These conditions now result in an error message.
SB‑28254 Using a Join operator with at least one of the input streams carrying an empty schema would cause an internal error. This was fixed.
SB‑28187, SB‑28174 The Copy Schema From dialog was updated to correctly import XML Schema (.xsd) files that define a list of tuples and importing from XML files was corrected and improved.
SB‑28162 Running StreamBase Server as a Windows service would leave behind many temporary directories whose names begin with .sb-bindir* or sbdata-*. This was fixed.
SB‑28146 When using the HBase adapters, a lock issue could arise with the connect status message when using connect on startup. This was corrected.
SB‑28137 In previous releases, passing an expression to eval() that returned a tuple whose schema is different from the expected schema would result in ArrayIndexoutOfBound exceptions. This was corrected such that the same conditions now result in an error message reporting that the schemas don't match.
SB‑27990 Previously, using the API call DataType.forType(new BasicFunction(null, null, null, null ,null)) returned DataType.CAPTURE. This was corrected to return DataType.FUNCTION.
SB‑27924 In previous releases, custom Java operators or adapters that chose to reuse tuples could result in corrupted data in inner fields. This was corrected.
SB‑27694 In previous releases, there were circumstances in which Studio or locally run StreamBase Server would leave behind a number of temporary directories in the system TMP directory, whose names all began with .sb-bindir. The cause was identified and corrected.
SB‑27402 The com.streambase.sb.TimeService interface was added to the Java Client API in release 7.4.0 to allow StreamBase JUnit tests to be devised for EventFlow modules with time sensitive operators such as a Metronome or an Aggregate operator with a time-based window. In 7.4.x and 7.5.x releases, this interface worked with a subset of operators. As of 7.6.0, the interface was updated and corrected to work with all time sensitive operators. Adding this updated support incidentally corrected a number of outstanding TimeService related issues. See API Changes for further details.
SB‑27198 In previous releases, when you tried to call functions that returned information on the state of the running module in an operator's property field, you could get compilation errors. Functions in this category include getPath(), getContainer(), getParallelRoot(), and so on. This was corrected.
SB‑26242 Previously, overriding a submodule's parameter with constants from the calling module would cause a typecheck exception. This was fixed.
SB‑25591 In previous releases, calling a null object as a function could cause operand-stack-underrun errors. This was fixed.
SB‑25215 Previously, logical OR expressions with null == null on the right hand side could cause bytecode verification errors. This was fixed.

Limitations Resolved in 7.5.x

Fixed in 7.5.4
Number Resolution
TIBCO StreamBase® 7.5.4 incorporates all fixes resolved in the release 7.4 series through 7.4.4 and in the release 7.3 series through 7.3.12.
CQS‑3199 In previous releases, using a literal list expression that had all null elements resulting in an index out of bounds exception. Now this condition results in an error message List of type null is not supported.
SB‑28156 The MQTT adapter was incorrectly using the sslKeyStoreType parameter in the adapter configuration XML stored in the project's server configuration files. This was corrected.
SB‑28138 As of release 7.5.4, the Tuple2JSON operator now correctly unwraps then writes StreamBase escaped identifiers to JSON.
SB‑28049 The TIBCO ActiveSpaces operators were failing to map ActiveSpaces names that contained characters that violated the StreamBase naming rules. This was corrected.
SB‑28006 In previous releases, if your input schema has a field named old, StreamBase could emit an ambiguous error or warning, even if you qualified the reference to it with input.old in your Query operator. This was corrected.
SB‑28003 The MQTT client adapter set was failing to respect the username, password, SSL, and clean session options while connecting to an MQTT resource. This was corrected.
SB‑28000 In the Web Server Input Adapter, request-response adapter instances configured as web sockets could fail to write before a read. This was fixed.
SB‑27993 Using the JMS-EMS adapters from release 7.5.3 and earlier, setting cache-destinations=false could break the ability to publish to destinations. This does not occur with the new JMS-EMS adapters of release 7.5.4 or later.
SB‑27970 Referencing operator parameters in module parameters caused an error in previous 7.5.x releases. This was fixed, restoring the behavior of the 7.4 and earlier release series.
SB‑27000 Using the JMS-EMS adapters from release 7.5.3 and earlier, a custom MessageConverter class would catch any TupleException and fail to pass it on to StreamBase Server. This situation does not arise in the new JMS-EMS adapters of release 7.5.4 and later.
SB‑21104 In previous releases, Studio would incorrectly report recursive references to modules when the Properties view and EventFlow editor attempted to typecheck the same module reference concurrently. This was fixed.
Fixed in 7.5.3
Number Resolution
TIBCO StreamBase® 7.5.3 incorporates all fixes resolved in the release 7.4 series through 7.4.4 and in the release 7.3 series through 7.3.12.
SB‑27913 The Web Reader adapter was not correctly returning the error stream message when it failed. This was fixed.
SB‑27905 In previous releases, if you set one output port, perhaps port 1, of a Filter operator to emit on condition true, then later moved the true condition to another output port, such as port 3, the operator could incorrectly see both ports 1 and 3 as the true condition stream, potentially corrupting the data sent over one or both ports. The cause was identified and corrected.
SB‑27904, SB‑27902 Two fixes for the Tuple to JSON conversion routines were made: (1) JSON data with mixed numeric and string data types in a list can now be correctly converted into a list of strings. (2) JSON to tuple operations can now properly convert lists of lists of unnamed field data into list<list<tuple>> based on field index. These corrections affect several internal conversions in StreamBase as well as the Tuple2JSON adapter.
SB‑27875 The OSI PI adapter was failing to provide the OSI PI default login information when the user name and password fields of the adapter's Properties view were left blank. This was corrected.
SB‑27873 The OSI PI AF adapter was incorrectly gathering historical data. This was fixed such that the adapter now applies the requested date to both the database and the retrieval of data.
SB‑27835, SB‑27528, SB‑27509 Several issues with using the TIBCO StreamBase High-Performance FIX Engine were corrected, including a heartbeat loop issue, a problem starting a session when using a custom Acceptor module, and an Illegal Thread State Exception thrown.
SB‑27809 In previous releases, the byte array output from Tuple.serialize() of a generated-class sub-tuple would incorrectly include its parents' fields as well. This was fixed.
SB‑25218 In the Field Serializer global operator, inner tuple field data was not being correctly updated in subsequent uses of the operator. This was corrected.
Fixed in 7.5.2
Number Resolution
TIBCO StreamBase® 7.5.2 incorporates all fixes resolved in the release 7.4 series through 7.4.4 and in the release 7.3 series through 7.3.12.
SB‑27817 The feed simulation mechanism was incorrectly populating generated tuples based on index in the feed simulation specification's field list, and the corresponding index in the generated tuple's field list. If the field names were the same but in different orders, field values would be assigned to the wrong fields. This was fixed: field names are now correctly used instead of indexes.
SB‑27777 Previously, in rare cases, a Query-Write operator could cause a spurious row deletion in the table. The case was, In a write or update Query operator, if an impure expression was used as a key's match expression, two different values for the key could appear during the course of the write or update operation. (An impure expression is one that evaluates to different values every time it is called.) This led to unexpected and undefined behavior, such as rows being deleted randomly.

The fix was to make sure StreamBase only evaluates the key's expression one time and thereafter caches its value, regardless of the key expression's purity.

SB‑27753 Generating a StreamBase bundle from Studio could produce a bundle that failed to start, while generating a bundle on the same project from the command line with the sbbundle command produced a normal working bundle. The cause was identified and corrected.
SB‑27714 A rare corner case could result in a Duplicate index error that had no visible cause or fix. The cause of the error was identified and corrected. For the record, the rare case is: a hygienic parent module has two module references, both of which are non-hygienic, and one of the sub-module's tables is a placeholder and wants to be overridden by the other sub-module's table.
SB‑27704 The Bloomberg B-Pipe Input adapter now correctly handles cases where the same field name occurs in different data feeds.
SB‑27702 The FxAll Relationship Trading Provider adapter was throwing a null pointer exception when a message contained <FwdPoints></FwdPoints>, which resulted in a null integer value. The cause was identified and corrected.
SB‑27685 The TIBCO Spotfire Automation Services Output adapter now correctly handles files that have the UTF-8 BOM code as the first byte of the file.
SB‑27684 Including more than one asterisk in an expression would cause a typecheck error even when the specified expansions did not conflict. This was fixed.
SB‑27681 In the IBM WebSphere MQ Input adapter, the payload of incoming EBCDIC-encoded MQ messages was being translated to strings using the default character set instead of the appropriate EBCDIC character set. This was corrected.
SB‑27680 The Feed Simulation adapter was failing to convert fields of the list data type into list fields for the target input stream. This was fixed.
SB‑27670 The Bidirectional Socket adapter was updated to provide speed improvements.
SB‑27643 In previous releases, if a schema field had the same name as a built-in or custom Java function, calling that name resulted in a warning about an ambiguous reference. Starting with this release, StreamBase's name resolution order is honored without a message. That is, the built-in or custom function is always called first. You can disambiguate fields named with a reserved term by adding a prefix to the field name. For example, a field named random can be distinguished from the internal random() function by referencing it as input.random.
SB‑27635 Starting a LiveView project could result in a java.util.ConcurrentModificationException exception. The cause was identified and corrected.
SB‑27514 A High Performance FIX Engine session with a mid-day session gap could prevent an acceptor from accepting connections. The cause was identified and corrected.
SB‑27513 The High Performance FIX engine could fail to disconnect initiators after a scheduled stop of a session. This was fixed.
SB‑27433 The Deutsche Bank AutobahnFX Classic FIX execution handler (part of the Trading Components Framework) was failing to process SWAP trade requests. This was corrected.
SB‑27287 The CSV File Reader adapter now correctly reports the line number of the source file in error messages.
SB‑27318 Releases 7.5.0 and 7.5.1 did not fully take into account an OS X Yosemite change in the way OS X Yosemite handles LD_LIBRARY_PATH entries. In OS X versions prior to Yosemite, any entries added to the LD_LIBRARY_PATH were automatically added to the DYLD_LIBRARY_PATH; but starting with Yosemite, such double adds to both paths must be handled manually. This only affects OS X users building client applications or custom functions with C++ on OS X.
Fixed in 7.5.1
Number Resolution
TIBCO StreamBase® 7.5.1 incorporates all fixes resolved in the release 7.4 series through 7.4.4 and in the release 7.3 series through 7.3.12.
SB‑27612 In release 7.5.0, StreamBase Studio's remote execution feature failed to connect to remote StreamBase Servers. The cause was identified and corrected.
SB‑27581 The Log adapter was producing an error message if the Compress Frequent Messages option was enabled. This was fixed.
SB‑27536 The Web Server Request adapter was emitting incorrect payloads when it encountered a large concurrent request count with a large body payload. The cause was identified and corrected.
SB‑27487 The sbprofile -f filter option, which matches a regular expression against operator and queue names to restrict output, was not working for streams. This was corrected.
SB‑27481 The sbmonitor command-line tool was showing multiple entries for the same stream. This was fixed.
SB‑27456 The output order of table columns returned by StreamSQL SELECT statements and EventFlow Query operators was arbitrary when indexes were hashed. This was corrected to preserve the order of input columns on output. This fix restores the default behavior of StreamBase 7.2.
SB‑27441 Calling unique() on the output of another list function sometimes caused a code generation error or a null pointer exception at run time. This was fixed.
SB‑27439 POST requests to the TIBCO StreamBase® Web Server Request adapter could generate duplicate requests when one of the endpoints was subordinated to another one that failed to respond quickly enough. This was fixed.
SB‑27436 The TIBCO StreamBase® Web Server Request adapter now returns an HTTP ONLY field for cookies. Cookie fields were re-ordered to enable their direct streaming into the response side. For other updates to this adapter, see New and Noteworthy.
SB‑27375 In release 7.5.0, the Thomson Reuters demo in the SB Demos perspective was failing to send data to its Java client. This was corrected.
SB‑26408 StreamBase Studio reported spurious typecheck errors for valid parent schemas when passed down through multiple levels of module imports. This was corrected.
SB‑25565 The Order property of Query Delete operations did not function correctly when the Ascending direction was selected. This was fixed.
SB‑25403 The sbc readTable -v command displayed tupleid=0 for all dequeued tuples, rather than a sequence of numeric values. You can now specify that sequential or hashed values be assigned for returned tuple IDs by setting the Java property streambase.appgen.tupleid to sequential or hash, respectively. If you do not set this property, tuple IDs are still all reported as 0. For further information, see sbc.
Fixed in 7.5.0
Number Resolution
TIBCO StreamBase® 7.5.0 incorporates all fixes resolved in the release 7.4 series through 7.4.3 and in the release 7.3 series through 7.3.12.
SB‑27381 The TIBCO StreamBase® Adapter for Exegy was ignoring its isAggregated flag for subscription requests, causing prices to be returned in the default format (merged or expanded) of the XCAPI library. (The library returns expanded prices by default in XCAPI versions prior to 3.2.0 and returns merged (aggregated) prices thereafter.) This was fixed.
SB‑27305 Removing an arc issuing from a sub-module could make an application's internal state inconsistent with its EventFlow representation. This was corrected.
SB‑27303 Under certain conditions, removing a Filter operator predicate from the Predicate Settings tab triggered a null pointer exception. This was fixed.
SB‑27297 Previously, when a Query operator's input schema was not compatible with the schema of the table that it was reading or writing, a compile error resulted. Now, a typechecking error is generated that describes the problem. In addition, implicit casts to the string data type, which was formerly deprecated, is now disallowed. Instead of generating a warning, attempts at such casts now produce a typecheck error.
SB‑27292

Previously, if the schema of a stream in a hygienic inner module did not match that of the outer module, StreamBase would attempt to rectify the mismatch and proceed without issuing an error. In some situations, however, this could cause ArrayIndexoutOfBound exceptions. Now, if the schemas do not match, you receive a typecheck error saying so.

Caution

If any of your applications have been relying on this lack of strictness, they may now start to fail typechecking. Reported will be: the source and target of the mismatched streams, the number of fields in each, and a list of schemas. To fix, either change the schemas supplied to and expected from modules to have identical field names and data types (order of fields is not important), or mark the inner module as non-hygienic. For more information, see mark the inner module as non-hygienic.

SB‑27288 The TIBCO StreamBase® Adapter for Deutsche Bank Autobahn FX Rapid was reporting quotes as Indicative instead of Tradable. This was fixed.
SB‑27285 You can now define a dynamic variable without providing an update expression. Whatever initial value you provide for the variable will not change. Formerly, doing this raised an error and Studio prompted you to enter an expression for updating the variable.
SB‑27256 In certain use cases, the CSV File Reader input adapter caused typecheck errors because it hard-coded schema names for outbound tuples that could clash with existing schema names. This was corrected.
SB‑27188 Previously, when you used expressions as secondary table indexes, those indexes would not be used, causing a table scan to be performed. This was fixed.
SB‑27090 To fix a divide-by-zero issue, the slope() and intercept() functions were modified to return zero when an Aggregate window contains a single point (that is, one row) or multiple identical points (that is, duplicate rows containing the same values).
SB‑27042 Parameter substitution in previous releases consisted of simple text substitution at runtime. This caused a situation where parameters that referenced other parameters saw only the values of the referenced parameters, not the parameter itself. For example, an expression might include:
top=3, bot=2, div=${top}/${bot}
But at runtime, ${div} was actually stored as div=3/2. Thus, when you updated the values of ${top} or ${bot}, those updates were not reflected in ${div}. Parameter substitution was corrected to produce the expected results.
SB‑26912 Previously, the CSV File Writer output adapter provided no notification if its output file was deleted during execution, causing its output to be silently discarded. This is fixed, so that now this condition generates a status event of type Error on the event port.
SB‑26885 The File Reader Input adapter was updated to handle fast rates of incoming control port tuples specifying the names of files to be read. Prior to this fix, the adapter might read the same file multiple times instead of processing multiple files in sequence.
SB‑26798 In some situations, such as in Aggregate windows, assigning values to tuple subfields could cause all of the fields to acquire the same value. For example, specifying:
(1 AS a, 2 AS b, 3 AS c) AS myTuple

might produce an erroneous result such as:

(1 AS a, 1 AS b, 1 AS c)

This was corrected.

SB‑26627 Exporting a bundle from StreamBase Studio could fail with a class loader exception such as com.streambase.fastjson.parser.Feature; cannot be loaded via the given classloader. This was fixed.
SB‑26623 Previously, jsbc dequeue when used with the -v option (to output human-readable tuples) could not output tuples in JSON format. The fix also now allows you to output JSON tuples from sbc dequeue. The sbc utility can now input and issue tuples in JSON format with the -v option, which only jsbc could do previously.
SB‑26469 Previously, in a field grid, when you DECLAREd a field having the name of an existing field and then referenced the field, you did not get any warning or error. Now you get warned that this reference is ambiguous. For example:
the reference to field "x" is ambiguous; you must qualify the field reference
 with one of "input.", "input1.", "new."
SB‑25101 You can now declare an aggregate function and reuse it. Previously, only simple functions could be declared in the Aggregate Functions tab of an Aggregate operator.
SB‑24925 Previously, a field that you included in the output grid of a Map or other operator could not be referenced from subsequent entries within that grid. This is now possible.

Note

  • Only simple expressions can be referenced in this way.

  • If the included field has the same name as an existing dynamic variable, the field will be shadowed by that variable. In such cases, applications can receive warnings about name-shadowing, but they are safe to ignore.

SB‑22255 In previous releases, an unused import warning would be issued in Studio for EventFlow modules that defined a constant or function that referenced an imported named schema. This was corrected.
SB‑20430 A CancelledKeyException was sometimes thrown by the StreamBase HTTP Server for a key that was no longer valid. This was fixed to eliminate such exceptions.

Resolved in Previous Releases

See the StreamBase Release Note Archives for the list of issues resolved in previous releases.

Known Limitations

This section describes known limitations in the current release of TIBCO StreamBase®. Each item includes a tracking number, description, and whenever possible, one or more workarounds.

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‑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‑27517 sbd --eval treats initial hyphen as an sbd option on Windows
Description In the rare case that you have an expression to evaluate at the Windows Command Prompt with sbd --eval where (a) the expression to evaluate begins with a hyphen, such as a math expression '-2+5', and (b) you use single quotes instead of double quotes, then sbd interprets the initial hyphen as the start of another sbd option.
Workaround 1. Rewrite your expression to avoid the initial hyphen. 2. Use double quotes instead of single.
SB‑27488 Runtime exception when using Drools operator with sbd under Java 8.
Description StreamBase applications containing Drools operators may compile under Java 8 but fail with a wrong class format exception when they run.
Workaround Run the application under Java 7.
SB‑27278 Custom timestamp formats for the sbc command may produce unexpected results or fail on Windows.
Description On Windows, the C++-based sbc command returns different results compared to the Java-based jsbc command for certain custom timestamp formats, such as %F (which on Windows needs to be %Y-%m-%d) and %z (which returns a time zone identifier instead of its offset), and might return an error.
Workaround Use Windows-specific formats in the few cases where format string options differ from OS X and Linux formats.
SB‑27096 Standalone Help Viewer and sbhelp not provided.
Description Starting with StreamBase 7.5.0, the standalone Help Viewer on Windows, and the sbhelp utility on OS X and Linux, no longer function. The move to Eclipse 4.4 as a base for StreamBase Studio caused complications that were solved for Studio, but not for the Help Viewer.
Workaround Use the Eclipse Help provided as part of StreamBase Studio, or the website version of the documentation, as described in Using the Help System
SB‑26629 RPM installation method issues on RHEL 7
Description StreamBase and Live Datamart 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 rpm -e fails as an uninstallation method.

Workaround Remove StreamBase directories manually to uninstall an RPM installation on RHEL 7. Otherwise, all StreamBase and Live Datamart processes run as expected on RHEL 7.
SB‑26927 <MyNamedSchema> is not a function that can be called error.
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 <MyNamedSchema> is not a function that can be called. This compilation behavior and language ambiguity was introduced with the function data type in StreamBase 7.4.0.
Workaround The required migration step is to rename either the field or the named schema to eliminate the ambiguity.
SB‑26627 Exception when exporting application bundle from StreamBase Studio with FileExport
Description Exporting an application bundle in StreamBase Studio can raise a class loader error, preventing the operation.
Workaround Run all the apps in the project before exporting the bundle from StreamBase Studio. If that fails, use the sbbundle command line tool to export the bundle.
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‑25527 Extension points cannot be externally configured for deployed .sbar files.
Description It is currently not possible to configure extension points for precompiled StreamBase applications deployed as .sbar files. Attempting to do so raises the error: SBAR file for container <name> is itself made from a deploy file.
Workaround None
SB‑25403 Tuple IDs returned by sbc readTable all contain zero.
Description The sbc readTable -v command displays tupleid=0 for all tuples retrieved from a query table, rather than a sequence of numeric values.
Workaround To obtain sequential values for tuple IDs, run StreamBase server in a Java 8 environment.
SB‑23835 Command line bundler does not find JUnit jar
Description When referenced by the usual Eclipse JUnit library, the junit.jar is not found by the bundler from the command line using the -P option.
Workaround Manually add junit.jar (from %STREAMBASE_HOME%\lib) as an external .jar reference in StreamBase Studio (not to the .sbconf file) to enable the command-line bundler to find it on the build path. Also add rfa.jar from %STREAMBASE_HOME%\lib\bootext in the same way.
SB‑23741 Studio crashes on older 32-bit Linux distributions.
Description A reported Eclipse bug causes Studio to crash on 32-bit Linux when attempting to render a non-empty EventFlow application. This problem is seen with 32-bit RHEL 4 and SuSE 10 distributions, and only with Studio 7.3.0 or later, where the base Eclipse installation is 3.8.
Workaround Try using a 64-bit version of the same distributions, where this problem does not occur.
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‑21107 Problems using activemq-all.jar.
Description Projects that include references to the activemq jar file may not load slf4j or exhibit other classpath problems.
Workaround Replace the actviemq library with the individual jar files provided by apache.org for activemq, which are listed at http://activemq.apache.org/version-5-initial-configuration.html..
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‑18189 Some Windows UI themes fail to render borders.
Description On some Windows UI themes, such as the Windows XP Classic theme, some UI elements are drawn without a border. This affects the JDBC SQL text box of the Query operator, among others.
Workaround Try a different Windows theme.
SB‑17414 Order of layout parameters changed one time after import into 6.5 or later.
Description When importing an EventFlow module created with StreamBase 6.4 or earlier into StreamBase 6.5 or later, some layout parameter lines may shift positions in the .sblayout file (or .sbapp file if you do not use separate layout files). This may affect difference comparisons or version control systems.
Workaround The reordering of layout parameter lines is a one-time occurrence after the first save in StreamBase 6.5 or later. Thereafter, these lines are stored consistently with each save.
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‑16555 Doubled menu items in Windows Start menu.
Description The Start menu should be cleared when a previous StreamBase release is uninstalled, so that you only see menu entries for the most recently installed release. However, on systems with more than one StreamBase release installed (such as releases 6.4 and 6.5), the uninstaller can sometimes fail to remove the old entries from the Start menu. In previous releases, this was not an problem, because the new installer (for, say, 6.5.3) would simply overwrite the same entries for the previously installed release (say, 6.5.1).

However, starting with release 6.5.4, the StreamBase installer now adds the release number to Start menu entries for the StreamBase Command Prompt and for links to documentation. If an uninstaller fails to clean up the Start menu for a previous 6.5 release, you may see both old and new style links.

Workaround Uninstall the most recently installed release (such as 6.5.4). Manually remove its entire Start menu folder (such as Start(All) ProgramsStreamBase 6.5), then reinstall the new release.
SB‑14862 Custom Java operators and adapters cannot include their own janino.jar.
Description The StreamBase Server executable, sbd[.exe], incorporates a customized version of the Janino libraries that include bug fixes that have not yet been absorbed by the Janino project. If you attempt to include the standard janino.jar implementation of Janino as part of a custom operator or adapter, that JAR file conflicts with the version embedded in sbd.
Workaround Call Janino as part of StreamBase's server.jar, or see http://code.google.com/p/janino-streambase for public access to StreamBase's Janino bug fixes.
SB‑14239 Recordings in Studio fail to play back against streams with imported schemas.
Description Since release 6.4.0, applications can use the Module Imports feature of the EventFlow Editor's Definitions tab to import schemas. If you use the Studio Recordings view to record the operation of such an application, it fails to play back.
Workaround Create a local copy of the imported schema in the application module that contains the stream, and specify the copy for use by the stream. Then re-record the application.
SB‑14133 sb-config --cxx returns a setting for G++ 4.3, 4.4, or 4.5 on newer Linux distributions
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++ 4.3, 4.4, or 4.5 compiler, which is not 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.2, and edit the Makefiles to specify CXX=g++-4.2.
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‑13303 Reuters RFA Configuration File wizard appears to not connect under Windows Vista or Windows 7.
Description Under Windows Vista and Windows 7, you can run the Reuters RFA Configuration File wizard, but the wizard's Test Connectivity page shows a red X and the Test Connection button remains dimmed.
Workaround This wizard makes changes to the Windows registry, and under the Vista and Windows 7 security model, registry changes require administrator permissions. For these operating systems, use the procedure described in Special Steps for Windows Vista and 7.
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‑13021 JDBC database errors related to string lengths.
Description Due to the removal of string lengths in StreamBase as of release 6.3, some static checking of JDBC table sizes is no longer possible. This can lead to database-specific errors, possibly including data truncation, if a StreamBase application attempts to insert into a JDBC table string values that are too wide for the JDBC table's schema.
Workaround None.
SB‑12824 Java and C++ format doubles differently.
Description When displaying integer-like values of type double, Java code outputs the value with a decimal point and zero appended (34.0), whereas C++ code outputs the same value without those features (34). Thus, the same double values output to stdout with sbc dequeue and jsbc dequeue are formatted differently.
Workaround None.
SB‑12401 Clients connecting to sbproxy with misconfigured SSL may hang.
Description Client applications attempting to make a secure connection to StreamBase Server by means of the sbproxy server may hang if the client or server is not configured to support SSL.
Workaround Carefully review your SSL configuration setup.
SB‑12136 On 32-bit Windows, some third-party applications can interfere with StreamBase Server starting.
Description In recent releases, StreamBase Server is started by default with a requested maximum memory size of 512 or 1024 MB. Certain third-party applications, including Apple's Bonjour program, load themselves in the middle of available RAM, which can prevent StreamBase Server from reserving a contiguous block of memory.
Workaround You can (1) reduce StreamBase Server's maximum memory size request by adjusting the server configuration file as described in Java VM Memory Settings, (2) remove the competing program, such as Bonjour, or (3) upgrade to a supported 64-bit platform.
SB‑11964 Case-sensitive Unicode regular expressions require Java 1.6.
Description When running StreamBase with Java 1.5, with Unicode support enabled as described in Unicode Support, the regexmatch() expression language function behaves as if an ignore-case option was enabled.
Workaround To have both case-sensitive regular expressions and Unicode support, you must run StreamBase with Java 1.6, which is the default JDK shipped with StreamBase.
SB‑11245 RFA/Java Configuration: Test Connection sometimes fails with RTIC servers.
Description The RFA/Java Configuration Wizard and Reuters Schema Designer, under certain conditions when used with an RTIC server, fail to access the server. This occurs when using the Configuration Wizard's Test Connection button and the Schema Designer's Discover Services and Start FIDs Lookup tools.
Workaround None needed. Despite the reported connection failures, the RFA/Java configuration file generated by the wizard is valid and usable by the Reuters RMDS subscribing adapter.
SB‑11117 Test Editor might not update changes in an open Feed Simulation file.
Description If a StreamBase Feed Simulation file is modified while a Test Editor is open that references that feed simulation, the Test Editor may not update its contents until it is closed and reopened.
Workaround Close the Test Editor before editing a Feed Simulation file referenced in the test.
SB‑10983 Reuters RFA Publishing Adapter not shipped for Linux
Description Because of a change in C++ libraries, the Reuters RFA Publishing external adapter is not shipped for Linux in StreamBase 6.x or 7.x.
Workaround Use the new Reuters RMDS Publishing embedded adapter.
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, StreamSQL fails to convert timestamps, resulting in typecheck errors. This is because the Sybase timestamp is based on the Sybase varbinary data type.
Workaround In StreamSQL code that will be used for Sybase data sources, use the Sybase datetime data type instead of timestamp.
SB‑8640 Java Operator with zero inputs does nothing.
Description While it is not an error to create a Java operator with zero input ports, the processTuple method will never be called, and thus the Java operator can never emit any tuples.
Workaround None.
SB‑8297 Files edited outside StreamBase Studio are not refreshed in Studio automatically.
Description For .sbapp and .sbfs files that were created using StreamBase Studio and are still open in Studio, modifications made using an external editor are not automatically refreshed in the current Studio Editor session.
Workaround If edits are made outside of Studio and you now want to use the latest file, right-click the project that contains the changes you made and select Refresh.
SB‑7148 Invalid byte error when opening EventFlow application.
Description Studio sometimes fails to open an EventFlow application with this error:

org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence

Workaround Perform the following steps to recover:
  1. Close the EventFlow Editor, if it is open.

  2. Open the EventFlow file in a text editor. For example, in StreamBase Studio, right-click the file and choose Open WithText Editor.

  3. In the source, find any multi-byte characters that might have been pasted from a multi-byte source (for example, formatted text that was copied from Microsoft Word into a description field in an EventFlow Editor Properties view).

  4. Remove the multi-byte characters or any other characters that might be causing trouble. Typically, the characters to remove appear as a square box. Replace them with characters that you type in manually.

  5. Confirm that the application opens in the EventFlow Editor (repeat step 2 to reassign the file to the EventFlow Editor).

SB‑7075 Changing perspectives can rearrange the Studio toolbar.
Description The position of toolbar sections can change when you go from perspective to perspective, especially when going from the Authoring to the Demo perspective and back.
Workaround Eclipse toolbars do not have fixed locations, so this is expected behavior.
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‑6346 Custom function C++ code typechecking is delayed until the application is generated.
Description Most portions of a StreamBase application are typechecked in real time as you add features to an EventFlow or StreamSQL application. However, starting with release 5.0, typechecking for a custom function written in C++ is delayed until the application is generated and run.
Workaround None. Be aware that typechecking errors may not be reported as usual when using custom C++ functions.
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‑5779 SBAPP-to-SSQL Conversion Assistant resets module parameters to default values.
Description If you run the SBAPP-to-SSQL Conversion Assistant on an EventFlow application that makes use of module parameter references, the resulting StreamSQL application does not have any module parameter references. They are replaced by their default values.
Workaround After the conversion, edit the StreamSQL file to add the non-default module parameter values.
SB‑5749 Feed Simulation Editor's data rate edit and save Issue on Linux.
Description In StreamBase Studio, the Feed Simulation Editor lets you set the rate in number of tuples per second at which data will be generated for a stream. On Linux only, if you use the keyboard to enter an integer in the Data Rate text box, the new value might not be saved.
Workaround After clicking into the text box and entering the value, press Enter or change the cursor's focus (for example, press Tab). Then press the Save icon or enter Ctrl+S. Note that if you press Ctrl+S while your cursor is within the Data Rate text box, the new value is not saved. You must press Ctrl+S again.
SB‑4931 SBAPP-to-SSQL Conversion Assistant does not support parallel operators.
Description If your EventFlow application file has individual operators that are marked for parallel operation, the SBAPP-to-SSQL Conversion Assistant cannot generate equivalent functionality in the generated StreamSQL application because there is no direct analogy for parallel operators in StreamSQL.
Workaround After the conversion, if appropriate for your application (no dependencies on data in other operations), you can use an APPLY PARALLEL MODULE statement or APPLY PARALLEL JDBC statement in the StreamSQL file. For details on the APPLY statement, see the StreamSQL Guide.
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.
SB‑4225 Some disk drive configurations can corrupt disk-based Query Tables if power fails.
Description Some caching disk drives do not guarantee the sequencing of disk writes, nor do they guarantee that all the writes to the drive have actually happened. This behavior improves disk performance, but at the risk of data corruption in the event of a power outage or equipment failure. StreamBase is vulnerable to this kind of data corruption if your StreamBase application uses disk-based Query Tables.
Workaround Disk drives with this behavior usually have a driver-level setting to turn this capability on or off. For example, the driver may present you with a check box labeled Enable write caching on the disk. Unchecking this box would prevent the problem from occurring.
SB‑3955 Finding sbd process failure details.
Description When StreamBase Studio runs an application, it launches the server process in the background. If the server process fails for any reason, Studio tries to report the reason to you. However, the actual message that Studio displays may not contain enough information,depending on the failure.
Workaround To get more information about the reason for the sbd process failure, open the Eclipse Error Log View, as described in Error Log View.
SB‑3585 Inconsistent support for undo in StreamBase Studio.
Description Many editing operations in Studio cannot be undone. This includes operations such as copying schemas, editing definitions, editing feed simulations, and so on.
Workaround The Revert command in the File menu can be used to undo all changes since the last time a file was saved.
SB‑2931 Relocatable RPMs install incorrect symbolic links in /usr.
Description The Linux RPM packages are relocatable. This means that the default installation location of /opt/streambase can be changed to a different location. However, if this is done, symbolic links are still installed in /usr/bin and /usr/lib that point to /opt/streambase.
Workaround Either edit the symbolic link by hand, or use the archive file installer instead of the RPMs to install StreamBase on Linux.
SB‑2507 Java Client library IOException when client program is suspended.
Description A program using the StreamBase Java Client library may receive an unexpected IOException if it is suspended (using either Ctrl+Z, or kill -SIGSTOP). The IOException is thrown when the program is resumed, or placed in the background. The exception may be thrown even if there is no network traffic at the time. This issue does not apply to Windows systems.
Workaround Do not suspend StreamBase clients written in Java.
SB‑1969 StreamBase Studio on Windows triggers Windows firewall when running Server.
Description Users of StreamBase Studio on Windows may find that the Windows Firewall, or a third-party firewall product, prompts for permission to continue when first starting StreamBase Server. The message may refer to javaw or to StreamBase Server by name. This is expected behavior of Windows firewalls. You must grant the requested permission in order to continue using StreamBase Server on this machine.
Workaround After granting permission once, you should not be prompted about this again.
SB‑1769 LockDirectoryException error encountered when starting StreamBase Server.
Description There may be a number of cases when you would encounter the LockDirectoryException error. If the message indicates File exists, either another instance of StreamBase Server is currently running or the prior instance of Server was improperly shut down.
Workaround If another StreamBase Server instance is running, change the server configuration file to point the datadir element to a different directory. If there is no other Server instance running, you must manually delete the directory named in the File exists message.
SB‑1289 IPv6 addresses not supported.
Description StreamBase Server can only connect to IPv4 addresses. If you try to connect using IPv6 addresses, the connection is refused.
Workaround None.
SB‑1164 Issues with certain older Linux kernel versions.
Description Linux kernel versions 2.6.8-10 have a known bug in their thread handling code. This bug can cause sbd to exit immediately after servicing its first client request. For more information, see http://www.ussg.iu.edu/hypermail/linux/kernel/0410.2/1650.html.
Workaround This bug was fixed in Linux kernel 2.6.11. This does not affect the Linux distributions currently supported by StreamBase. If you are running an older kernel in the 2.6.8-10 range, then set the environment variable STREAMBASE_IGNORE_SIGHUP=1 to work around this problem. Set the variable in the login environment in which StreamBase Server will run.
SB‑1039 C++ code is not binary compatible between releases.
Description If you use either the C++ Client library, plug-in functions, or plug-in aggregates, you must recompile them from source in order to use them in each new release. Without recompiling, StreamBase returns an error message at runtime.
bin/sbd: error while loading shared libraries ...
cannot open shared object file: No such file or directory
Workaround Recompile your C++ code from your original source against the new headers.
SB‑804 init.d script uses a hard-coded port number.
Description UNIX only. If you change /opt/streambase/etc/sbd.sbconf to point to a port other than 10000, then the stop, restart, and status commands in the /etc/init.d/streambase script do not work as expected. Those commands assume that sbd is running on port 10000.
Workaround Edit the commands in the /etc/init.d/streambase script to use the -p option, to force sbd to run on the same port specified in the modified sbd.sbconf file.