Release Notes for StreamBase 5.0.x

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

Limitations Resolved in 5.0.x

Fixed in 5.0.8
Number Resolution
SB-13373 A 64-bit byte-swapping issue was corrected that affected communication between a Windows client and StreamBase Server on Solaris.
Fixed in 5.0.7
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.0.6
Number Resolution
SB-10884

This release added 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, which promotes 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.

Fixed in 5.0.5
Number Resolution
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-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-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.
Fixed in 5.0.4
Number Resolution
SB-10388 Disk-based query tables where the primary key was not the first columns in the table schema would deadlock during certain read queries. Retrieve queries against disk-based query tables sometimes deadlocked StreamBase applications.
SB-9209 In earlier versions, when StreamBase Studio was implemented as an Eclipse Rich Client Platform application, the only way to synchronize projects when changes occurred in the underlying workspace file system was to restart Studio or change workspaces. Starting with Version 5.0, Studio is an Eclipse plug-in, and you can click FileRefresh (F5) at any time to resynchronize your project.
SB-7505 A problem handling tuples in custom Java operators sometimes caused applications with disk-based query tables to encounter ArrayIndexOutOfBoundsException errors.
SB-7426 In the EventFlow Editor, the schemas associated with connections between components must be automatically updated when you change the application. For example, the arc between two connected components may initially have no declared schema; however, if you connect an input stream earlier in the flow, the arc should acquire an explicit schema. StreamBase Studio sometimes did not correctly manage schemas in connections during EventFlow editing, which could result in a corrupted application.
SB-7399 Previously, the EventFlow Editor would not open an application that had a non-valid group (for example, a group whose elements have been deleted). Now, if you open an EventFlow with empty groups, a warning dialog gives you the option to remove the groups and save the changes.
SB-7351 Previously, if a referenced module and its referencing module were both open in the EventFlow Editor, even trivial changes to the referenced module (such as moving a component on the canvas) caused the referencing module to be marked as changed. This required you to save the referencing module before closing or launching it. The editor also failed to mark a referencing module as changed when a change was made to a module it referenced.

The problems have been fixed: Now, a referencing module is marked as changed only when there is a significant change to the referenced module (for example, to schemas, inputs or outputs, or tables). And, referencing modules are marked as changed when their referenced modules change.

SB-6143 In the EventFlow Editor, when you drew an arc to a component that had multiple output ports, it was difficult to see which port you were connecting to.
Fixed in 5.0.3
Number Resolution
#63888 Despite release 5.0.2's fix to #59757 (described below), there were still cases where the icons for custom operators and adapters were failing to populate the Project Adapters drawer of the Palette view. These were cases where the developer extends the StreamBase API through two or more subclasses. For example: where subCustomInputAdapter extends CustomInputAdapter, which extends the StreamBase InputAdapter class. As of release 5.0.3, StreamBase Studio searches recursively for all subclasses of its operator and adapter APIs, whether or not abstract, and verifies that these classes are public and not package private.
#62754 In previous releases, in the StreamBase C++ API, the sb::StreamBaseClient member function dequeue(timeout_ms) failed to honor timeouts that were longer than the StreamBase Server heartbeat interval (which is 10 seconds by default). This was fixed.
#62581 In previous releases, when drawing an arc from a materialized window to a query operator, the arc source was pinned at the center of the icon, and not at the port as normal. This error was cosmetic only, and was fixed.
#59823 In previous releases, the Reuters Subscribing Input Adapter processed received time fields incorrectly. The published time fields have no time zone indicator and should therefore be treated as UTC values. But, the adapter was treating them as local time values, which inadvertently added a time zone offset to time values when sending the resulting tuples downstream. This was fixed..
Fixed in 5.0.2
Number Resolution
#61536 Incomplete or malformed timestamp strings passed to the StreamBase strptime() function could cause an ArrayIndexOutOfBoundsException error. This was fixed so that such strings return useful error messages and do not halt the containing process.
#60152 In StreamBase 5.0.0 and 5.0.1, when using a module reference whose input ports have been assigned manually to not include all input streams from the referenced application, it was possible for Studio to override your choices and auto-assign all ports to streams if you modify the referenced application. This was fixed; Studio now maintains your port assignments even if new streams are added or removed from the referenced application.
#59757 In 5.0.0 and 5.0.1, custom Java operators implemented by extending the StreamBase Operator class as an abstract superclass were failing to populate the Project Adapters drawer of the Palette view. This was fixed.
#59174 An attempted shutdown of StreamBase Studio could hang if portions of a demo were left running in the Demo Perspective. The cause was identified and corrected.
#58442 The library element of the XML grammar of the StreamBase Server configuration file (the .sbconf file) was corrected. This element is used to specify the paths to private Java library files that will be prepended to the JVM's java.library.path. In previous releases, the setting of the library element was inadvertently ignored; as of StreamBase 5.0.2, this element is interpreted correctly.
#57015 In 5.0.0 and 5.0.1, the StreamBase sample custom-java-aggregate inadvertently contained an empty JAR file. This was corrected.
#55877, #55880, #59536 Documentation for the following functions was clarified and corrected in both the Reference Guide and the expression assistance for the Properties view: count(), exp_moving_avg(), pow().
#54732, #58006 In 5.0.0 and 5.0.1, in using shared query tables, typechecking could remain flagged as invalid for the inner module if you deleted a table in the outer module. StreamBase now performs automatic updates under certain conditions, which prevents this error.
#54302 In previous releases, non-ASCII characters in strings passed with the C++ client API function addContainer() could become corrupt. The cause was identified and fixed.
Fixed in 5.0.1
Number Resolution
#57007 The StreamBase installation did not correctly detect the presence of an existing .NET 3.5 installation. The problem was fixed.
#56623 A memory leak in the Excel adapter was fixed.
#56050 In EventFlow Properties views for JDBC and Chronicle data constructs, the SQL edit fields were small and did not resize when you resized the view. Now, these fields, and description fields for all components, are bigger by default and correctly resize when the Properties view resizes.
#55400 In the previous release, the default sbd.sbconf file did not resolve the ${STREAMBASE_HOME} environment variable correctly in the param name="java-home" element. This problem was fixed.
#54583 In release 5.0.0, a link was broken in the StreamBase Studio Welcome screen to the New and Noteworthy page of the documentation. The problem was fixed.
#53994 sbrecord failed when running in debug mode and when modules were used in the application. The problem was fixed.
#53242 When a materialized window was copied, the access level parameter value was not copied. This was fixed.
#53229, #52675, #52674, #52646, #9442 In previous releases, when you deleted some components in an EventFlow and subsequently clicked Undo, StreamBase restored the components, but failed to restore some connections (arcs) between them. The connections are now correctly restored.
Fixed in 5.0
Number Resolution
#50133 In previous releases on Windows, sbfeedsim could fail to run when StreamBase was installed in a location with no spaces in the path. Now, sbfeedsim works with any installation path.
#45388 In previous releases, deleting an EventFlow application component with the Outline View didn't always work. The cause was identified and fixed.
#37149 shutdown() called with a container-qualified URI shut down the container, not the server. The problem was fixed.
#34949 In previous releases, Studio could rarely produce a ghost duplicate of a component icon that did not cause typecheck errors. The cause was identified and fixed.
#33527 New applications sometimes created in wrong project. In previous releases, StreamBase Studio sometimes created a new application in the last project worked on, instead of the selected project. Now, if you right-click a project in the Package Explorer and use the context menu to create a new EventFlow or StreamSQL application, it is created in that project.
#14747 In previous versions, deadlocks could occur with downstream updates of a JDBC select. The problem was fixed.
#14507 When building applications with loops, the stream with a pre-declared schema (the blue stream) had to be an input to the Union operator for correct performance. If the blue stream was at a different point in the loop, the application typechecked and ran, but messages were sometimes re-ordered. For sufficiently long-running loops, resource exhaustion could occur. This was fixed.
#14485 StreamBase Studio sometimes failed to notice that the sbd server had shut down. This was fixed.
#9691 In previous releases, the Feed Simulation view on Linux did not display the tooltip for the error icon. The problem does not occur in the current version.
#8954 In pre-3.0 versions, spurious error messages related to the Regions view were sometimes displayed. The problem no longer exists: the Regions view was replaced by concurrency options.
#8833 During a StreamBase installation, it was possible to lose unsaved work in other open applications. The problem was fixed.
#6910 In previous releases, recordings and feed simulations were strongly tied to application and stream names. For example if you renamed an application you could no longer run its associated feed simulation. The problem was fixed.
#5607 In previous releases, simply opening a Query operator's properties view caused StreamBase Studio to modify some properties. The problem was fixed.
#5088 In previous versions, StreamBase Studio generated some typecheck messages that did not describe the problems clearly. The messages have been improved.
#4434 In previous versions, the Venturi Compression Client 2.3 crashed StreamBase clients on Windows. The problem was fixed.
#1948, #9749 In previous releases, the HTML version of the StreamBase Help system required JavaScript to be enabled. Documentation for 5.0 and later does not.
#1935 In previous versions, StreamBase Server sometimes left temporary directories in /tmp with names like sbdata-25224. Such temporary directories are now deleted.