Release Notes for StreamBase 6.0.x

This page lists the StreamBase limitations resolved in the 6.0.x release series. For issues resolved in the current release, see the StreamBase Release Notes.

Limitations Resolved in 6.0.x

Fixed in 6.0.6
Number Resolution
SB-11908 The java-prepend-classpath parameter in the StreamBase Server configuration file was introduced in release 5.1.1 as a workaround for then-new behavior. This parameter was found to be unnecessary and was removed in later releases, but typechecking failed to flag the parameter as incorrect. As of this release, using the java-prepend-classpath parameter is correctly flagged as a configuration file error.
Fixed in 6.0.5
Number Resolution
SB-12095 If a component in the EventFlow canvas was selected, then unselected without making changes in the Properties view for that component, Studio could sometimes display an incorrect message on that component's output streams indicating that no schema is known. This was corrected.
SB-11972 In some circumstances, StreamBase generated a spurious warning message that indicated a mismatch between a UUID hash value and another value generated by hashing. This was fixed.
SB-11454 Typechecking failed for some applications that used dynamic variables. This was fixed.
Fixed in 6.0.4
Number Resolution
SB-11986 In the StreamBase Java Client API, the methods Schema.Field.hashCode() and Schema.Field.equqls() produced incorrect results for Field objects whose type is DataType.TUPLE. This was corrected.
SB-11957 In the StreamBase Client API for Java, Tuple.getFieldAsString() was not returning the correct results when the specified field was a nested field. This was fixed.
SB-11905 In the Run Dialog, when configuring a StreamBase run or debug configuration, if you changed one of the radio button selections in the Advanced tab, the Apply button was not enabled, which prevented you from saving those settings. This was fixed.
SB-11898 In previous releases, when performing updates to a memory Query Table, if an error was thrown while evaluating an expression, the original row being updated was deleted from the table. This was corrected, and errors thrown during Query Table updates now leave the original row unchanged.
SB-11857 The flushBuffer() method in the StreamBaseClient API for Java, C++, and .NET was throwing an exception if called before enqueuing was enabled. This was fixed, and flushBuffer() now returns a helpful error message if called on an unenqueued stream.
SB-11847 StreamBase tests saved in folders inside a project left the recording data files at the root of the containing project instead of saving them in the same directory as the .sbtest file. This was fixed.
SB-11762, SB-11559 In releases 6.0.1 through 6.0.3, StreamBase Studio did not include the third-party Eclipse plug-ins that support the CVS version control system. Starting with release 6.0.4, the CVS plug-ins were restored to Studio.
SB-11411 It was not possible to reopen an application that had a group within a group if the top-level group had been collapsed when you saved the application. This was fixed.
SB-11382 If you ran a Feed Simulation that had two or more streams, the simulation ended before sending all the tuples in all the streams. This was fixed.
Fixed in 6.0.3
Number Resolution
SB-11615 The Wombat adapter was preventing users from connecting to a feed that used a separate transport for downloading the data dictionary. The cause was identified and corrected.
SB-11608 Sometimes StreamBase Studio did not restore arcs that were connected to the input ports of an Adobe Flex Output Adapter when the adapter was selected and then deselected. This problem was fixed.
SB-11607 When an application was running in SB Test/Debug perspective in StreamBase Studio, the Manual Input view incorrectly listed streams that were in modules referenced by the running application. Attempting to send data to those streams generated an error. This problem was fixed.
SB-11578 If a 64-bit Windows StreamBase kit was installed on a system without the appropriate Microsoft Visual C++ 2005 Redistributable Package installed, StreamBase Server would not start. The 64-bit Windows StreamBase kit now includes all the appropriate redistributable components that are required.
Fixed in 6.0.2
Number Resolution
SB-11532 If an input adapter was configured with two or more worker threads, and had a wide output schema, under certain conditions a race condition could develop, resulting in an IndexOutOfBoundsException error. The cause was identified and fixed.
SB-11496 In the 6.0.0 and 6.0.1 releases, when exiting StreamBase Studio with two or more editing sessions open with unsaved changes, you could be prompted to reload an editing session from disk. This was corrected.
SB-11484 The StreamBase Support Console is a feature of StreamBase Studio sometimes used under the direction of StreamBase Technical Support. In releases 6.0.0 and 6.0.1, this console was missing the dropdown menu item that allows selection of logging level from within Studio. As of 6.0.2, this feature is restored.
SB-11448

In the 6.0.0 and 6.0.1 releases, StreamBase Studio did not examine the application module parameters when resolving parameters in Java operators or adapters. The application module parameters are defined in the Parameters tab of the EventFlow Editor. This problem was fixed.

SB-11144 The Customize Fields dialog box is invoked from the Feed Simulation editor in the SB Test/Debug perspective. For very large schemas, this dialog could expand too tall vertically, leaving no room at the bottom of the dialog to enter customized values. This was corrected.
SB-11404 In previous releases, when the CSV file reader adapter encountered a badly formed line in a CSV file, it silently discarded that record and the rest of the file. The adapter now displays a warning message under the same circumstances.
SB-11392 StreamBase Server could fail to start due to incorrectly parsed JVM arguments if the jvm-args parameter in the java-vm section of the configuration file contained any JVM path setting that contained spaces. It did not matter whether the setting was explicit or specified by means of an environment variable. This was fixed.
SB-11270 In release 6.0.0, the 64-bit Windows overlay installation kit was installed by default for the currently logged in user, whereas the 32-bit base StreamBase for Windows kit is installed for all users. If both kits were installed by one user, another username on the same Windows machine would not see the 64-bit overlay kit's additions to the Start menu. This was corrected, and the 64-bit Windows overlay kit now installs for all users like the base kit.
SB-11240, SB-11155 In release 6.0.0, the E-mail Sender output adapter could fail with an UnsupportedDataTypeException error. The cause was found and fixed.
SB-10587 When you connect a Query operator to a JDBC table data source, you can enable concurrency options in the Concurrency tab of the Properties view. In previous releases, settings in the Run in parallel threads section of this tab were not preserved. This was corrected.
Fixed in 6.0.1
Number Resolution
SB-11437, SB-11282, SB-11283

In the 6.0.0 release, if your dynamic variables do not appear to be updating correctly, it could be because StreamBase introduced a change in the way dynamic variable update expressions are specified. In version 6 and later, update expressions can reference the old value of the dynamic variable, in addition to fields on the stream. Due to new support for the tuple data type, the entire tuple on the stream can also be referenced by using the stream's name.

As a result of this new functionality, a field reference in an update expression can be ambiguous if any two of the variable name, field name on the stream, or stream name itself are the same, and that name is used in the update expression. In 6.0.0, StreamBase did not generate an error about this ambiguity, and in fact changed the default behavior. The most common result of this change in behavior is that dynamic variables would appear to not be updating.

To address this problem, release 6.0.1 and later supports two new behaviors. In the first place, if there is such a naming conflict, Studio generates a typecheck error to notify you to change the names that cause the conflict.

Secondly, you can add a prefix to the names that are in conflict to disambiguate between the fields you are trying to access:

  • Add the name of the stream followed by a period as a prefix to the field name to access the field on the stream.

  • Add old. as a prefix to the name of the dynamic variable to access the old value of the dynamic variable.

  • No prefix is needed to access the tuple on the stream, just use the stream name by itself.

The best practice to keep your programs readable is to never use the same name for a variable and the stream that updates it.

For example, suppose you defined a dynamic variable named Threshold to update from a field named Threshold, with an updating expression Threshold, and the output stream is StreamName. To resolve the error and match old behavior, change the updating expression to StreamName.Threshold. To take advantage of new behavior, and access the old value of the variable, use an update expression such as old.Threshold + StreamName.Threshold, which increments the threshold whenever a new event arrives on StreamName.

SB-11372 In release 6.0.0, if had a StreamBase application file open in StreamBase Studio, and you modified and saved the same file outside of Studio, Studio failed to issue a warning that the file was modified outside of Studio, and overwrote the external changes when it next saved the file. In release 6.0.1, this issue was corrected. Studio now determines that external file changes have occurred, and responds appropriately.
SB-11355 In release 6.0.0, fields of type tuple did not work correctly on Solaris platforms. This was corrected.
SB-11351 In release 6.0 there was a problem when you used the visual debugger to look at an arc immediately after an operator computed a value. In this situation it was possible for the debugger to display re-computed values. Subsequent arcs showed correct values, and only the display was affected by the problem. That is, the re-computation did not cause any loss of data, or any changes in the behavior of the application. This problem was corrected.
SB-11347 The Feed Simulation dialog box for specifying enumerated values has a Remove button that was not enabled in Version 6.0.0. As of release 6.0.1, this button is enabled.
SB-11339 The <jar> and <dir> elements in the StreamBase Server configuration file are used to add classes required by custom operator and embedded adapter classes. In previous releases, there were situations where the added classes were not made visible to the custom classes, resulting in customer classes that would fail to load or operate correctly. As of this release, these visibility problems were eliminated.
SB-11337, SB-11311

Users of the JDBC and EMS/JMS adapters, please note that there is a change in the way that you extend the classpath when running the sb-jdbc, sb-ems-enqueue, sb-ems-dequeue, sb-ems-publish, and sb-ems-subscribe commands.

In previous releases, on Linux and Solaris, you could use a command line option (–c classpath) to extend the classpath. This option is no longer available.

In previous releases, on Windows, you were required to edit the ini file for the script. This is no longer required.

On Windows, Linux, and Solaris platforms, these programs now prepend the value of the CLASSPATH environment variable to their internal classpath entries. Editing CLASSPATH is the recommended way for users to extend the adapter's classpath.

SB-11333 In release 6.0.0, if a container connection was added while a container was suspended, the connection did not resume when the container was resumed. This was corrected.
SB-11295 In release 6.0.0, if your Studio project had a module that used a query table, and the index table for the query table was modified, Studio did not perform the required typecheck. To work around this problem, you had to run a manual typecheck. This was fixed in release 6.0.1, and the manual typecheck is no longer required.
SB-11286 In release 6.0.0, there was a problem if you attempted to launch the StreamBase Studio visual debugger on an application that was precompiled as an archive file with .sbar extension. In this situation, the debugger fails to launch. In release 6.0.1, this behavior changed as follows: instead of failing to launch the debugger, Studio issues a warning, and launches the debugger against the precompiled EventFlow or StreamSQL application instead.
SB-11275 The following Java property was added to the sbtest command: streambase.sbtest.double-compare-epsilon The default value is 0.00001. You can use this property to handle rounding issues when comparing values that are doubles.
SB-10884

This release adds a way to control the size of the internal queue used between a Java StreamBaseClient's main thread and the dequeuing thread. Previously, you could control the number of batches of tuples in the queue using the Java property streambase.max-queue-size, which has a default size of 500 batches. However, if a client gets behind in dequeuing, the server starts sending larger batches, which requires more memory usage by the client.

To remedy this situation, there is a new Java property in the StreamBaseClient API:

streambase.client.max-tuples-in-queue

The default value is 10000 tuples. This property limits the absolute number of tuples in the queue, promoting better client behavior. This new Java property also affects the StreamBase-to-StreamBase input adapter.

There is also a new Java property for the server:

streambase.sbd.max-tuples-in-dequeue-packet

This property limits the number of packets the server includes in any one dequeue packet. The default value is 10000, which matches the default of the new client property described above. Administrators can set both server and client with matching values to make sure client dequeues are not overwhelmed.

SB-10443 The shutdown(String containerName) method of the StreamBaseAdminClient class was previously documented to shut down the containing server if the specified container is the last container. This method now performs the same operation as removeContainer().
SB-6789

In releases 5.0 through 6.0.0, on the Windows platform, StreamBase Studio did not take into account the possibility that you had moved your My Documents folder when creating your workspace as a subdirectory of My Documents. This was fixed.

Note: after you install release 6.0.x, Studio can continue to use any workspace it has already created. There is no need to move the folder containing your workspace.

SB-10564 In StreamBase Studio you could not delete values from the enumerated list for a field in a schema in a feed simulation process definition. Also, if there were more than 35 fields in the schema, Studio failed to display the dialog for creating the enumerated list for a field. This was fixed.
Fixed in 6.0
Number Resolution
SB-11010 In previous releases, an aggregate operator configured with a group-by expression with the same output name as one of its input fields would cause Studio to display an IllegalArgumentException error dialog. This has been fixed, and the operator now reports an appropriate typecheck error instead.
SB-10899 In release 5.1, the HA sample opened in Studio with typecheck errors until you manually set up a reference to an external JAR. This was corrected in 6.0, and the sample opens in Studio ready for study.
SB-10877 In previous releases, in the Operation Settings tab of the Query operator's Properties view, if you specified an action to take if the update or insert failed, an int to string conversion was sometimes silently allowed. This conversion is no longer allowed.
SB-10828 In release 5.1, StreamBase to StreamBase connections would fail silently if the input and output streams had incompatible schemas. The same conditions in 6.0 now produce an error message.
SB-10811 In previous releases, dynamic variables could not be used in aggregate expression calculations. This was fixed.
SB-10778 Previous releases did not notify you during typechecking when a table scan is being used. Starting with 6.0, a warning is now displayed in the Console view.
SB-10629 In previous releases, the Clickstream demo application shipped with StreamBase in EventFlow form would fail to convert to StreamSQL. This was fixed.
SB-10569 The custom function wizard in StreamBase Studio now uses more appropriate names for aliases.
SB-10568 In previous releases, Studio could set an incorrect classpath if the path to the user's Studio workspace was too long. This was corrected.
SB-10519 When using the EMS/JMS adapters, it is now possible to specify a timestamp format for use with ToJMSMessageConverter.
SB-10462 In previous releases, an expression with two plus signs (such as item++item2) was interpreted as a simple add operation instead of being flagged as an error. Such expressions now correctly cause a typecheck error.
SB-10417 The min and max expression language functions now permit strings and mixed numeric data types as arguments.
SB-9156 Customers setting max-client-pages to 0 were insufficiently warned of the consequences. Now a WARNING message displays at server startup explaining that this setting can lead to server crashes from memory exhaustion.
SB-9031 In previous releases, when using the EMS/JMS embedded reader adapter and the EMS/JMS external enqueuing adapter, incoming strings too large for the corresponding StreamBase field were silently set to null. It is now possible to configure these adapters to truncate incoming messages to fit.
SB-9106 The sb-ems-enqueue command (part of the EMS/JMS adapter package) now emits log messages with connection information for every connection and disconnection from a JMS server.
SB-9006 The EMS/JMS adapter now supports the TIBCO EMS RELIABLE_DELIVERY mode. .
SB-8822 In previous releases, simple errors such as a divide-by-zero error could shut down the running sbd server. This was fixed as part of the high availability improvements in 6.0.
SB-7517 Various issues with the Extract as Module feature were fixed.
SB-7266, #62441

In general, properties for Java operators specified in the server's sbd.sbconf file are evaluated at compile time rather than at runtime. In release 5.1, this was causing confusion with precompiled applications (described in Precompiled Application Archives), because operator properties specified in the runtime sbd.sbconf were silently ignored when a precompiled application file was generated.

This was fixed. Starting with release 6.0, properties for Java operators specified in sbd.sbconf are correctly passed to StreamBase Server when it loads a precompiled application file.

SB-6977 In previous releases, if you deleted a component from the Outline view in the EventFlow editor, you were not prompted to confirm, even with preferences set to prompt on delete. This was corrected.
SB-6145 In previous releases, the filter operator would automatically check the false port option if you had more than one predicate, and the last predicate was true. The filter operator no longer does this, and preserves your predicate entries as entered.
SB-5722, #25825, SB-10608, SB-10940 In previous releases, input adapters that read data from files, such as the CSV Input Adapter, when run under StreamBase Studio, could start so quickly that their output was not caught by Studio, if they completed reading the file before Studio connected to the running server. This was fixed.