StreamBase Release Note Archives

This page summarizes the history of limitations resolved in previous StreamBase releases.

Limitations Resolved in 7.5.x

Fixed in 7.5.6
Number Resolution
TIBCO StreamBase® 7.5.6 incorporates all fixes resolved in the release 7.4 series through 7.4.5.
SB‑28699 In earlier releases of the .NET operator, an error caused garbled characters to appear when StreamBase received a string of encoded byte data. The cause was detected and resolved.
SB‑28593 In previous releases, the percentile() function in the StreamBase expression language was restricted to having a fixed maximum number of tuples. This could cause obscure IndexOutOfBoundException errors when the containing Aggregate operator handled more than 10,000 tuples. This was corrected, such that the maximum is now calculated as a percentage of the available JVM memory, as long as the maximum number of bytes used by one Aggregate operator does not exceed integer.MAX_VALUE, or 2,147,483,647.
Fixed in 7.5.5
Number Resolution
TIBCO StreamBase® 7.5.5 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‑28505 The CSV File Writer adapter could sometimes crash with a null pointer exception when checking for its output file with daily file rolling enabled. The cause was identified and corrected.
SB‑27663 In previous releases, the JMS Configuration Editor would allow you to select Destination Options as Queues, but still provide a value for the Subscriber Name field. This illogical combination would cause the adapter to fail to start. The combination is now prevented.
SB‑28536 In previous releases, StreamBase was not passing on the truststore and truststore-password parameters for two-way SSL authentication when entered in the .sbconf file used by the sbproxy server. This was corrected.
SB‑28493 Complex uses of a number of TIBCO ActiveSpaces operators in the same application could result in a module lock deadlock. This underlying cause was corrected.
SB‑28474 Connection attempts using the CME Order Routing Adapter or the BM&FBovespa UMDF Input Adapter were seen to fail with "Error creating FAST session handler". The cause was identified and 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‑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 files 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‑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‑28201 The new JMS Configuration Editor introduced in release 7.5.4 to support the new JMS and EMS adapters had its JMS versus EMS support determined by whether it was first opened from a JMS or EMS adapter's Properties view. This could inadvertently let an EMS adapter select a JMS provider. This behavior was corrected so that a dialog now warns you of the mismatch under the same circumstances.
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‑27976 For any adapter using the FIX protocol as implemented by the QuickFIX FIX engine, the SenderSubID, SenderLocationID, TargetSubID and TargetLocationID fields are now correctly set on tuples representing incoming FIX admin messages.
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.
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.

Limitations Resolved in 7.4.x

Fixed in 7.4.5
Number Resolution
TIBCO StreamBase® release 7.4.5 incorporates all fixes resolved in the release 7.3 series through 7.3.12.
SB‑27670 The Bidirectional Socket adapter was updated to provide speed improvements.
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.
Fixed in 7.4.4
Number Resolution
TIBCO StreamBase® release 7.4.4 incorporates all fixes resolved in the release 7.3 series through 7.3.11.
SB‑27574 An issue with nested lists when using the Log adapter's custom format expression field was fixed.
SB‑27497 Using a declared expression as an argument to included tuple expressions could cause compilation errors with signatures like File Unknown, Line -1, Column -1: Expression "_vnnn" is not an rvalue. This was corrected.
SB‑27466 When a Metronome operator was configured to Drop delayed tuples it could incorrectly emit timestamps in the future, instead of the most recently seen timestamp within its specified interval. This was fixed.
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 corrected.
SB‑27381 The TIBCO StreamBase® Adapter for Exegy was ignoring its isAggreated 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 versions prior to 3.2.0 and merged (aggregated) prices thereafter. This was fixed
SB‑27364 When multiple schemas were moved from one application to another by refactoring, inconsistent serialization resulted, generating typecheck errors. This was fixed
SB‑27352 Query operator connections to data constructs that used escaped identifiers were not being loaded correctly. 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 fixed.
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 String type, which was formerly deprecated, is now disallowed. Instead of generating a warning, attempts at such casts now produce a typechecking error.
SB‑27293 In the 7.4.3 release, when attempting to run an EventFlow application from Studio created a compilation exception, its sbd process failed to exit, consuming processor cycles and potentially preventing Studio from launching subsequent applications. This was fixed.
SB‑27288 The TIBCO StreamBase® Adapter for Deutsche Bank Autobahn FX Rapid was reporting quotes as Indicative instead of Tradable. This was fixed.
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 fixed
SB‑27251 In very rare instances when many StreamBase clients attempted to connect to a server simultaneously, the server could enter an unresponsive state from which it was unable to recover. The cause was identified and corrected.
SB‑27192 In previous 7.4.x releases, selecting an arc on the canvas failed to display the EventFlow editor prompt Select the input/output stream <name> to declare a schema that you could click to immediately edit its schema. 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‑27164 The FIX adapter could run out of memory as a result of making continued attempts to connect while a counterparty is down. This was corrected.
SB‑27090 To fix a divide-by-zero issue, the slope() and intercept() functions were modified to return zero when a window contains a single point (that is, one row) or multiple identical points (that is, duplicate rows containing the same values).
SB‑27056 Query operators displayed the names of tuples whose types were named schemas simply as "tuple," rather than keeping the names of the named schemas. This was fixed, so that named schemas are no longer anonymous in output schemas.
SB‑27031 When a StreamBase server was running an application on a debug port, the Manual Input view in the SB Test/Debug perspective could fail to connect to it, reporting No Running StreamBase Application. This was fixed.
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 like:

(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 Lcom.streambase.fastjson.parser.Feature; cannot be loaded via the given classloader. This was fixed.
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‑25298 When configured for the log4j logging back end, the StreamBase server failed to log shutdown messages. If the StreamBase server fails to start as a result of a port conflict, the resulting port-conflict shutdown message was lost, making it hard to diagnose this condition. This was fixed.
SB‑24246 Environment variables used within StreamBase configuration files of bundled applications could fail to get expanded. In some cases, this caused the bundled application to fail to launch. This was corrected.
Fixed in 7.4.3
Number Resolution
TIBCO StreamBase® release 7.4.3 incorporates all fixes resolved in the release 7.3 series through 7.3.11, and in the release 7.2 series through 7.2.15.
SB‑27044 Metronome and Heartbeat operators indicated typecheck errors when custom functions were used in interval expressions. This was fixed.
SB‑26921 When importing a named schema to use as a table schema in the Interface Editor, the schema's fields failed to display in the Primary Index tab, forcing the user to manually copy and paste the fields into the Edit Table Schema dialog to assign index fields. This was fixed.
SB‑26912 Previously, the CSV File Writer output adapter provided no notification if its output file were 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‑26878 Using a custom function in an adapter property field could cause spurious typecheck errors, which could be ignored. This was fixed.
SB‑26860 When reopening a saved table schema in which the primary index type was set to Hash, StreamBase Studio reset the index type to Btree. This was fixed.
SB‑26856 Calling mergelist() or filterlist() from user functions caused compilation errors. This was fixed.
SB‑26838 Calling sort() from user functions caused null pointer exceptions. This was fixed.
SB‑26763 Certain FIX counterparties violate the FIX spec during logon when the initial logon message contains ResetSeqNumFlag(141)=Y by replying with a logon message that does NOT also contain 141=Y. Because this is incorrect behavior, by default the High-Performance FIX Engine will refuse the logon reply and disconnect from the counterparty. If you wish the engine to overlook the omission and consider the logon reply valid, add the following line to your fixengine.properties file: ignoreSeqNumTooLowAtLogon=true
SB‑26885 The File Reader Input adapter was updated to handle fast rates of incoming control port tuples specifying names of file to be read. Prior to this fix, the adapter might read the same file multiple times instead of processing multiple files in sequence.
SB‑26804 At startup, an application with deeply nested modules could generate a ConcurrentModificationException. This was fixed.
Fixed in 7.4.2
Number Resolution
TIBCO StreamBase® release 7.4.2 incorporates all fixes resolved in the release 7.3 series through 7.3.11, and in the release 7.2 series through 7.2.15.
SB‑26819 A threading issue prevented the File Writer adapter from appending data to or overwriting an existing file. This was fixed.
SB‑26818 Errors were received when attempting to disable the control and status ports of the File Writer output adapter. These were fixed.
SB‑26815 Invoking join() more than once within an Aggregate operator raised a ClassFormatError warning and prevented the application from producing further output. This was fixed.
SB‑26744 When configuring a Pattern operator, selecting value as the Window Type without first specifying a field for Order Field resulted in a Null Pointer Exception. This was corrected, and now results in a typecheck error.

Important

The Pattern operator's polling-interval parameter is no longer supported, and causes an error if it is present. To correct your applications, open your EventFlow module's .sbapp files in a text editor and search for the string polling-interval. If found, remove the entire <param> element that contains that string.

SB‑26732 Setting tuple fields to null could cause the fields to be set to tuples of null fields instead of null tuples. This was fixed.
SB‑26720 The High-Performance FIX adapter would hang when logging off if the counter-party did not send a Logout reply message. This was fixed.
SB‑26689 StreamBase apps containing Aggregate operators whose emit and emit-all parameters had the same predicate, or whose close and close-all parameters had the same predicate, would cause compilation errors with the signature: name is not an rvalue. This was fixed.
SB‑26676 The skeleton file produced by sbd -s failed to parse on RHEL 4 and earlier RHEL 5 distributions due to an apparent bug in their ICU (International Components for Unicode) library. This issue is now sidestepped by making sure that generated StreamBase configuration files contain the ASCII single-quote character instead of the same character in UTF-8 encoding.
SB‑26674 The TIBCO StreamBase Output Adapter for TIBCO Spotfire Automation Services was incorrectly reporting a typecheck error when using Microsoft Windows authentication and a password was supplied. This was fixed.
SB‑26660 Errors in expressions that referenced a field name specified with the old. prefix could cause a Null Pointer Exception. This was fixed.
SB‑26590 StreamBase Studio project configuration synchronization now correctly creates project-relative paths in cases where the project does not physically reside under the workspace root.
SB‑26583 After using a named schema in a Java operator, if you set that schema to Private Schema in the Edit Schema tab, the module no longer typechecked, even though the schema did not change. The Definitions tab showed the schema as (unnamed) and would not allow you to remove it, and once saved, StreamBase Studio would no longer open the module. This was fixed.
SB‑26421 A malformed formatstring argument passed to the parse_time() function caused StreamBase server to crash after its first invocation. This issue was corrected such that the server now warns at start-up time if it detects a parse_time() function with a malformed formatstring.
SB‑26198 Initialization of the TIBCO StreamBase® Operator for TIBCO ActiveSpaces® would fail when connecting to the ActiveSpaces Metaspace took too long. This was fixed.
SB‑25581 When installing StreamBase Studio as an Eclipse plug-in from the StreamBase Studio Eclipse Update Site, it is no longer necessary to clear the Group Items By Category check box in order to see available updates.
SB‑22750 In the JMS adapter documentation, the configuration example for ActiveMQ servers incorrectly specified the <jms-server> connection-factory-name attribute as org.apache.activemq.ActiveMQConnectionFactory. The string was changed to ConnectionFactory, which is a correct value.
Fixed in 7.4.1
Number Resolution
TIBCO StreamBase® release 7.4.1 incorporates all fixes resolved in the release 7.3 series through 7.3.11, and in the release 7.2 series through 7.2.15.
SB‑26517 The sbconf file synchronizer introduced in release 7.4.0 now correctly handles path names containing trailing slashes.
SB‑26441 The TIBCO StreamBase IBM WebSphere MQ Output Adapter option Queue When Connection Down was added in 7.3.10 to make the adapter queue rather than reject tuples when the connection to the MQ server is down, and then process the queued tuples when the connection is restored. Now, when this option is NOT selected, status messages are issued when a tuple is sent to the MQ server, allowing the application to know whether or not the tuple was published. This restores the behavior prior to 7.3.10.
SB‑26436 The TIBCO StreamBase Output Adapter for UDP (Sender) was causing high CPU loads while connected. This was fixed.
SB‑26429 Sometimes attempting to link a data arc to a module with placeholder tables did not work, even when table names and schemas matched. As a result of this fix, now when a data arc to a table in a referenced module is deleted, all mappings to the table or reference at the other end of the data arc are cleared.
SB‑26398 Previously, you were not able to use named schemas inside a function's body or inside the first argument to eval (as when using sbd --eval "expr" file.sbapp) or compile without explicitly including them. Now you can reference a named schema, such as Point, like this:
eval("Point(1 AS x, 2 AS y)", Point())

In previous releases, you would need to use the full expression:

eval("Point(1 AS x, 2 AS y)", tuple(* AS *), Point())
SB‑26389 The TIBCO StreamBase Input Adapter for Deutsche Bank Market Data did not properly set the arrival time when using a variant of CustomSpot or CustomSwap. This was fixed.
SB‑26340 Due to changes in StreamBase Studio 7.4.0 to make StreamBase lists compatible with Java arrays, custom function resolvers for custom Java functions with generic list arguments failed. This is now corrected, so that you can use List<T> arguments in Custom Function Resolvers.
SB‑26295 StreamBase Studio did not properly initialize default values for adapter properties relating to a capture field strategy, and as a consequence sometimes failed to find capture field conflicts. This was corrected.
SB‑26284 In previous releases, the feed simulation Data File Options dialog let you choose a data file in a different directory than the .sbsf file itself, but did not store the path to the file. This caused the Timestamp from column option to fail, and other problems. In the current release, this is fixed. Feed simulations now store paths to data files, which can be either absolute or relative to the feed simulation folder.
SB‑26274 In some cases, the state of the First row as header option in the feed simulation Data File Options dialog was not being properly stored in between invocations of the dialog. This was fixed.
SB‑26236 In 7.4.0, custom functions could have variable numbers of arguments, but a <custom-function> element for such a function in the .sbconf file would execute only if the args="auto" attribute was set. Starting with 7.4.1, if you want to declare individual <arg> elements, you must include in your <custom-function> element a new attribute, isVarargs="true".
SB‑26226 In 7.4.0, EventFlow lists passed as arrays to custom Java functions could not exceed two dimensions, whether called via a function alias or via calljava(). This is still the case when using a function alias, but you can now use calljava() to pass higher-dimension lists as arrays. See Creating Custom Java Functions in the API Guide for details.
SB‑26045 The function data type introduced in release 7.4.0 enabled definitions of functions that return literals, but StreamBase did not allow such functions or lists of functions with any return type to be manually enqueued to input streams. This was fixed.
SB‑26008 When previewing data files, the feed simulation Data File Options dialog would sometimes incorrectly display read error; lines will be dropped while running simulation. This was corrected.
SB‑25895 In release 7.4.0, multithreaded use of a typecheck-time schema for a Java operator that accesses fields in a tuple could result in spurious errors about an incorrect schema. This was fixed.
SB‑25886 In feed simulation Processing Options, when selected, the Timestamp from column now defaults to first value read, not zero.
SB‑25317 If the actual binding of a capture field conflicted with another field already in the schema, StreamBase would throw a compile-time error, or no error at all, but the application would not show the erroneous component in either case. This was fixed. Typecheck errors are now thrown in these cases.
SB‑25105 In 7.4.0, if a launch configuration had the Allow Remote Java Debugging check box selected, and if the user launched that configuration in Run mode, then the application would not successfully start. This was fixed.
SB‑25090 When creating a feed simulation using a data file for an input stream having no fields, it was not possible to declare First Row as Header or to select a timestamp column by name. This was fixed.
SB‑24416 In some cases, copying and renaming an interface would cause a typecheck error in any referencing modules. This was fixed.
SB‑24008 The feed simulation Data File Options dialog was showing incorrect previews of CSV files when the First Row as header option was selected and the Lines to skip option was set to 1 or higher. This was fixed.
Fixed in 7.4.0
Number Resolution
TIBCO StreamBase® release 7.4.0 incorporates all fixes resolved in the release 7.3 series through 7.3.10, and in the release 7.2 series through 7.2.15.
SB‑26189 The Database Change Data Capture input adapter will no longer re-publish all changes in the log upon start. Instead, it now gets the last change number and starts from that point on. In addition, the issue with "too many open cursors" was fixed.
SB‑26188 Selecting a field name in the feed simulation editor's Customize Fields dialog would sometimes scroll the selected row out of view. This was fixed.
SB‑26167 The StreamBase Studio debugger failed to launch when a StreamBase .sbapp contained one or more operators whose names were escaped because they contained characters other than letters, numbers and underscores, for example, #"big-agg!". This was fixed.
SB‑26140 Using nested fields as primary indexes in Query tables shared across modules raised the error "Current module contains no placeholder tables to be configured." This problem did not occur when referencing a table within its own module. This was fixed.
SB‑26131 For imported projects having feed simulations that read data files with non-default column mappings, the feed simulation editor incorrectly displayed default values (i.e., 1,2,3...) in the Map to file column of the Column mapping table. Although the simulation would use the correct column mappings, the UI did not reflect this. This UI issue was corrected.
SB‑26097 Error messages appeared in the StreamBase Studio Error Log if a custom feed simulation reader was not configured properly. These unnecessary messages have been suppressed.
SB‑26000 Operators and adapters were mangling escaped field identifiers (such as #"abc:xyz") into normal identifiers (abcxyz). This was fixed.
SB‑25943 The feed simulation Data File Options UI did not register changes in the delimiter that the user made. This was fixed.
SB‑25925 When selected, the First Row as Header check box in the feed simulation editor was cleared every time the feed simulation file was saved. This was fixed.
SB‑25885 Calling new_tuple(), new_tuple_subset(), or new_tuple_subset_loose() with a named schema as the first argument, for example, new_tuple(MySchema(), 3 AS a, 4 AS b), returned a null result unless the named schema was fully specified in the first argument, for example new_tuple(MySchema(1 AS a, 2 AS b), 3 AS a, 4 AS b). With this release, it is no longer necessary to include a specification of the named schema. That is, new_tuple(MySchema(), 3 AS a, 4 AS b) now produces a fully-formed new tuple. As previously, any fields in the given schema that are not referenced in arguments 2 and higher will be null in the new tuple.
SB‑25877 The feed simulation editor was unable to preview data files compressed using BZ2 format, even though it could read and use them in simulations. Now it can.
SB‑25875 In StreamBase Studio 7.3.x, dynamic variables were not visible to the Gather operator's output target list. Now they are.
SB‑25831 When EventFlow applications having Query operators containing old.<fieldname> references were converted to SSQL, either the SSQL file would fail to typecheck, saying the "old." fields do not exist, or the SSQL would run but might not return a correct result. This was fixed.
SB‑25725 Both the simple and aggregate standard deviation and variance functions for populations (stdevp and variancep) returned null for inputs of size 1 when the result should have been 0. This was fixed. Note that the stdev and variance functions (for sample data) still properly return null for inputs of size 1.
SB‑25658 In previous releases, Query table insert and update operations that referenced unqualified field names created ambiguities in the following use cases:
  • INSERT; if duplicate, UPDATE

  • UPDATE; if not found, INSERT

In such cases, the unqualified field names were automatically assigned as input. at runtime without any notification. Now, StreamBase Studio issues warnings in the Problem view for projects containing ambiguous references. For example:
the reference to field "X" is ambiguous; you must qualify the field reference
 with one of "input.", "input1.", "old."
As these warnings may become errors in a future release, it is best to fully qualify potentially ambiguous field names either with Quick Fix or manually rather than to suppress the warnings. For information about quick-fixing these issues, see Fixing New Typecheck Warnings in Query Operators.
SB‑25657 Previously, if you imported a child schema and used it in a Query Table, although fields from its parent schema were visible, they could not be used as indexes. Now they can.
SB‑25654 Applications could fail to launch if they had Aggregate operators with a Predicate dimension configured to evaluate emit and close predicates before adding tuples to its window which referenced fields from the input stream. Users would receive an error message such as 'Runtime exception: Internal error generating operator Aggregate: Attempted to dereference nonexistent field...' This was fixed.
SB‑25498 Previously if you provided Tuple.setfield with a different number of fields than the schema object contained, it would error. Now, the map does not have to contain the same number of entries.
SB‑25340 You can now create a Delta Stream for placeholder query tables. Previously this was only possible for private and shared query tables.
SB‑25203 Accessing a .sbint file specifying a Query Table with an empty secondary index would silently produce errors when data was inserted into the table. Specifying an empty index is still an error, but is now is caught in typecheck. The error message is 'Secondary index n is empty in tablename'.
SB‑25201 Using parameters with escaped identifiers (such as #_A100_) in an Iterate operator's Condition or Filter fields failed to typecheck with a "Field not available from any stream" error. This was fixed.
SB‑25194 In previous release, some BSON operations with timestamp data types would throw an "unsupported BSON type" runtime exception. This was fixed.
SB‑25146 Enabling dequeuing in sbadmin would start all output adapters regardless of their "Start with application" setting, moving them from NOT_YET_STARTED state to STARTED state when the container sent dequeue=ENABLED. Input adapters displayed the same behavior with the enqueue=ENABLED command. This was fixed, so that these commands no longer implicitly start adapters.
SB‑25096 sbd --eval now processes the -f argument to configure all applicable settings before evaluating an expression.
SB‑24953 When specifying a Sequence Identifier for the Sequence operator, you can now specify any suitable numeric field from the input stream rather than having to create a new field to hold sequence values.
SB‑24781 When a Query operator performs an insert, it is now possible to specify the old prefix in an output list, just as it was possible with query updates. Previously, old was disabled on the output list. When the operation is an insert, the value of all the fields in the old tuple is null.
SB‑24664 Typechecking a schema with a capture field could cause a Null Pointer Exception if the capture field's Capture Type was null. This was fixed; failing to specify a Capture Type now generates a typechecking error, as it should.
SB‑24662 References to environment variables in sbd.sbconf were not respected when running apps within StreamBase Studio. Even after setting a launch configuration environment variables, the configuration file obtained variable values from StreamBase Studio. Now, when launching from within studio, all environment variables set in the launch configuration are used when parsing the configuration file.
SB‑24583 In previous versions, a the expression for a declared variable in a target list could be evaluated multiple times, which could lead to inconsistent or incorrect results if the expression included calls to functions like random(). In this version, declared variable value expressions are evaluated at most once.
SB‑24424 The aggregate operator sometimes output tuples whose values were incorrectly calculated when the intermediate emission property value did not divide evenly into the window size or advance property values. This issue was resolved.
SB‑23819 You can now create dynamic variables without first needing to create a stream.
SB‑23709 When a client disconnects from the StreamBase server, the information in the disconnecting client message now includes the client's IP address. Also, the severity of this message was raised from INFO to WARN.
SB‑23636 Declaring a variable more than once or duplicating a field name in a field grid did not cause any typecheck error, but did cause an error at run time. Now declaring or adding the same name more than once generates a "Field named <name> already exists" error.
SB‑23632 Calling String.format with calljava is now supported.
SB‑23187 The Join and Gather operators were unable to use module dynamic variables for setting certain properties. This was fixed.
SB‑22847 sbadmin issued an incorrect and confusing error message when you attempted to add a nonexistent container connection more than one time. (The message indicated that that the connection already did exist.) A failed attempt to add a container connection also made it impossible to subsequently add that connection without restarting the server. This was fixed.
SB‑22815 The second argument to parse_time(), the format string, was formerly required to be a string literal. The function now accepts for that argument an expression that evaluates to a simpleDateFormat string.
SB‑22182 The application/extension section in sbd.sbconf and .sbdeploy files now support all the same configuration options.
SB‑22129 Server configuration files that included nested files via <sb-include> or <xi:include> elements only caused a project to rebuild when the top-level sbconf file changed, and not when saving changes to any nested sbconf file. Now, changing any included file triggers rebuilding of the project.
SB‑21337 Inserting an operator before in an arc containing a breakpoint would delete the breakpoint. This was changed to move the breakpoint to the arc upstream of the inserted operator.
SB‑19921 The Stop and Pause buttons on feed simulations did not become disabled at end of file. This was fixed so that they are both disabled when the Run button is enabled. Both the tuple count and speed are preserved from the initial pass through the data.
SB‑12403 Enabling an error port for the Pattern operator on the General tab of its Properties view created a port that was not functional. Now Pattern operator errors are issued through that port instead of incorrectly being sent to the console.
CQS‑2270 With certain very large query predicates that contain multiple nested AND and OR clauses, StreamBase server may consume very large heap sizes. This was fixed.