Release Notes for StreamBase 5.1.x

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

Limitations Resolved in 5.1.10

Fixed in 5.1.10
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.
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.
Fixed in 5.1.9
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.
Fixed in 5.1.8
Number Resolution
SB-11584

A problem with dequeuing tuples was caused by the following limitation in the Java Virtual Machine (JVM):

6724218: Incorrect code is generated for AbstractLinkedList::removeNode

This release of StreamBase includes a workaround for this Java problem.

SB-11532 If an input adapter was configured with two or more worker threads, and had a wide output schema such that overflow fields were used, a race condition could develop, resulting in an IndexOutOfBoundsException error. The cause was identified and fixed.
SB-11448

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

SB-11392 StreamBase Server failed 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-11369 If you generated a precompiled (.sbar) file, then changed any parameter settings in the data-sources section in the configuration (.sbconf) file for the application, and then ran the precompiled file, it was likely that the behavior of the application was not as expected. This was fixed.
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 same 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-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.
#73006 Very large feed simulations with more than about 160 fields could crash StreamBase Studio when you clicked the Customize Fields button. This has been fixed.
Fixed in 5.1.7
Number Resolution
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. Prior to 5.1.7, there were situations where the added classes were not made visible to the custom classes, resulting in custom classes that would fail to load or operate correctly. As of release 5.1.7, these visibility problems were eliminated.
SB-10519 When using the EMS/JMS adapters, it is now possible to specify a timestamp format for use with ToJMSMessageConverter.
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-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-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-9006 The EMS/JMS adapter now supports the TIBCO EMS RELIABLE_DELIVERY mode.
Fixed in 5.1.6
Number Resolution
SB-10695 UTF-8 characters stored as strings were being doubly interpreted when using the JDBC Adapter. This was corrected.
SB-10694 Feed simulations with file data source and a specified data rate were not correctly interleaving in multiple stream simulations. This was corrected.
SB-10638 A large StreamBase application with many client enqueue connections would cause the Statistics manager thread to show increasing CPU usage over time, and sometimes result in a connection error stating Too many open files. The root cause was identified and fixed.
SB-7569 The Reuters RFA Publishing Adapter was experiencing crashes when it received a tuple with a Null item field. This was fixed.
Fixed in 5.1.5
Number Resolution
SB-10669 Using the control portion option in the properties for the CSV Reader Input adapter was creating an elusive port in the Studio canvas that was hard to select. The cause was identified and fixed.
SB-10649 Performance of time-based materialized windows was improved with a change in the way they were indexed.
SB-10579 Stream throughput was not optimal for a stream with a very wide schema. An internal change in the handling of wide tuples was implemented, resulting in significant performance improvement.
SB-10536 The Reuters Schema Designer now has improved error reporting when a single invalid RIC is entered.
SB-10496 Materialized windows created in StreamSQL were not appearing in the Outline View in StreamBase Studio. This was fixed.
SB-10447 A problem loading a custom Java function from a directory whose name contains spaces was corrected.
SB-10357 A problem running a feed simulation with sbfeedsim using a very large data file was causing an NPE error. The cause was identified and fixed.
SB-10339 The New Java Operator wizard, given a default value entry of one double quote, would generate invalid code with non-standard formatting. The cause was identified and fixed.
Fixed in 5.1.4
Number Resolution
SB-10508 In previous releases of StreamBase 5.1.x, the StreamBase Java Client API would mis-report a null value in a Timestamp field as being a nonsensical value, rather than null. This issue was fixed.
SB-10397 Under certain circumstances, the Pattern Operator time window was failing to close within its specified time. The cause was identified and fixed.
SB-10388 Disk-based query tables, where the primary key was not the first column in the table schema, would deadlock during certain read queries.
SB-10386 The StreamBase ActivFeed Adapter was recompiled to use version 1.8.3.1 of the Activ APIs, the latest available version.
SB-10340 Java code generated by the StreamBase Java Operator wizard could have non-standard line spacing, depending on your Eclipse settings and operating system. The cause was identified and fixed.
SB-7561 In previous releases, if you used the reconnect interval parameter with either the StreamBase-to-StreamBase Input or Output adapters in a remote container connection URI, an invalid parameter exception was thrown. This was fixed.
Fixed in 5.1.3
Number Resolution
#73359 Small usability issues with the Query Prefix functionality were resolved.
#73244 StreamBase Studio could display a Cannot Save error dialog when changing indexes on a Query table. This was fixed.
#72075 For certain adapters, adding an Error Output Port could inadvertently also add an extra non-error output port. The cause was identified and fixed.
#70675 StreamBase Server, when started from the command line in debugging mode (sbd -d) sometimes failed to release TCP sockets when many containers were added and removed. The cause was found and fixed.
#70533 You can use NavigateOpen StreamBase Resource (or the toolbar button equivalent) to display a list of all StreamBase-related files in all projects in the current workspace. Formerly, the list of files displayed included all sbapp, ssql, and sbfs files. As of release 5.1.3, the list includes sbconf files as well.
#56829 StreamBase Studio now issues a warning if you attempt to paste text into a Properties View field if the pasted text contains any multibyte characters that are not supported in the EventFlow file format.
Fixed in 5.1.2
Number Resolution
#72363 In the previous release, reads on Query Tables did not set the security tag correctly. This was fixed.                                
Fixed in 5.1.1
Number Resolution
#64234 StreamBase Studio sometimes failed to detect field mismatches in query operators correctly. Such queries could fail at runtime, or the EventFlow could not be converted to StreamSQL. These errors are now typechecked correctly.
#60328 Changing a stream used by a dynamic variable sometimes failed to trigger a typecheck.
#57066 The custom-java-function example formerly demonstrated a custom function, which was called random(). The random() function is now a built-in function provided by StreamBase. Therefore, the custom-java-function sample has been updated to feature a different custom function called hypotenuse().
#52670 Explicit schema typechecking was field-order sensitive. Now, schemas do not have to have the same field order to match.
#37350 Studio sometimes failed to automatically typecheck in a module that was referenced by other applications currently open in other EventFlow Editors.
#32492 The API documentation for getOperatorProperty was misleading. It gave the impression that this property could be used for non-Java operators, when in fact the command is restricted for use with Java operators and embedded adapters only.
#14807 Very large applications that ran in standard mode sometimes failed to start in debug mode, with errors such as code too large. This was fixed.