StreamBase Release Notes

 

StreamBase 5.1.10.0

Date: October 28, 2008

This page contains the release notes for the current version of StreamBase.

Before You Install

Before you install StreamBase:

  1. Read this Release Notes document, paying special attention to the Issues and Cautions section.

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

  3. Read the Installation Guide.

More Information

See the documentation home page to begin exploring the StreamBase documentation.

If you are reading this document in printed form, note that the online version of the StreamBase documentation is available in several ways:

  • On the installation CD, open doc/index.html in a browser.

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

    UNIX     /opt/streambase/doc/index.html
    Windows  C:\Program Files\StreamBase Systems\StreamBase.n.m\doc\index.html 
    
  • In StreamBase Studio, select HelpHelp Contents from the top menu.

  • On Windows, open Start(All) ProgramsStreamBase n.mStreamBase User DocumentationStreamBase User Guide - Help Viewer

  • On UNIX at a terminal window's command prompt, run sbhelp &.

Issues and Cautions

Take note of the following issues in the current StreamBase release.

Do Not Use Studio 3.x Workspace with Studio 5.x

Release of StreamBase Studio starting with 5.x use a new Eclipse workspace format that is incompatible with the workspace from previous releases. When Studio 5.x first starts and prompts for the location of its workspace, use the provided default location or specify a new, empty directory. Do NOT specify the location of any previous StreamBase Studio workspace. Studio 5.x issues a warning dialog if it detects an older format workspace.

Customer Support

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

Resolved Limitations

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.

Fixed in Previous Releases

For the list of issues resolved in previous releases, see:

Known Limitations

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

SB-12016 Studio HTML display issues with Linux and Firefox 3.x
Description

Recent Linux distributions use Firefox 3.x as the default browser. Firefox 3 splits the display engine into a separate piece called Xulrunner so that it can be called by applications other than Firefox. In a default Linux installation, this can cause some display problems with StreamBase Studio. Some of the symptoms are:

  • The Welcome page has a white background and no longer shows the bubble graphic.

  • Studio Help pages and the sbhelp utility open in the browser, not in separate Help windows.

Workaround

Install the xulrunner compatibility package for your Linux distribution. For example, for Ubuntu 8.04, use the following command:

sudo apt-get install xulrunner-gnome-support
SB-10697 .NET cache files remain after uninstalling.
Description After uninstalling StreamBase on Windows, the .NET libraries are left behind in C:\Windows\assembly. There are no ill effects of these files, other than taking up disk space.
Workaround To reclaim the disk space, remove the files manually. Navigate to C:\Windows\assembly in Windows Explorer and remove the assembly named sbclient. Removing the assembly removes all files associated with the assembly.
SB-10468 Some SQL queries can fail after reconnecting to the database server.
Description When using the JDBC operator and a JDBC data source, be aware that some SQL queries and operations that succeed after first connecting to the database server can fail after reconnecting following an error. In StreamBase releases before 5.0, StreamBase Server shut down when an error occurred. Starting with 5.0, the server does not shut down on error by default, but the connection between the JDBC operator and the database server is closed when a SQL error is thrown. The issue is that both the database server and StreamBase Server can continue to throw errors while the connection is closed, for as long as the connection is closed. Reconnection attempts encounter these as new error conditions, which can cause new queries to fail.
Workaround

Restore the connection by setting the jdbc-reconnect-regexp parameter of the data-source element to .* (period asterisk) in the server's configuration file. For example:

<param name="jdbc-reconnect-regexp" value=".*" />
SB-10363 No StreamBase data type corresponding to Sybase timestamp.
Description When used with Sybase data sources, StreamSQL fails to convert timestamps, resulting in typecheck errors. This is because the Sybase timestamp is based on the Sybase varbinary data type.
Workaround In StreamSQL code that will be used for Sybase data sources, use the Sybase datetime data type instead of timestamp.
#71055, SB-7509 Missing C++ library errors on Red Hat Linux
Description On Red Hat Enterprise Linux systems, the StreamBase Server may fail to start with an error message about a missing libstdc++.so.5.
Workaround Install the compat-libstdc++-33 package from your Red Hat distribution. If you use the package provided on the StreamBase installation media, you may need to create a symbolic link to your system's library directory. For example:

cd /opt/streambase/lib64
ln -s /opt/gcc-3.3.6/lib64/libstdc++.so.5 libstdc++.so.5

or

cd /opt/streambase/lib
ln -s /opt/gcc-3.3.6/lib/libstdc++.so.5 libstdc++.so.5

#69299, SB-7446 Starting a StreamBase application fails with a Not enough space error.
Description On small systems, StreamBase may run out of virtual memory during the pre-compilation phase. This is reported as a CompilationException: I/O exception: Not enough space error message from StreamBase Server.
Workaround Increase the size of your system's paging file.
#65757, SB-7363 Failure-to-load message from the Wombat adapter is found in the Error Log view on Studio startup.
Description This error message is a known consequence of loading the Wombat adapter without also configuring the Wombat MAMA middleware to be visible to StreamBase.
Workaround Follow the instructions in Wombat MAMA Input Adapter in the Adapters Guide to eliminate this error message.
#62441, SB-7266 Operator configuration properties evaluated at compile time
Description Operator properties are evaluated at compile time rather than at runtime. This can cause confusion with precompiled applications (for example, using sbargen) because any operator properties in the runtime sbd.sbconf will be silently ignored.
Workaround Don't use precompiled applications.
#58027, SB-7170 Module reference sometimes fails to typecheck.
Description StreamBase Studio may report a typecheck error on a module reference, with a message similar to:

Duplicate stream stream-name detected

When this message appears, StreamBase Studio refuses to typecheck the module reference and may prevent you from continuing to develop operators downstream, even if the application has no other errors and is runnable by either StreamBase Server or StreamBase Studio.

Workaround StreamBase is investigating this limitation. For now, you might be able to work around the problem by restructuring the flow of your application, moving the location of the module reference in the graph.
#56829, SB-7148 Invalid byte error when opening EventFlow application.
Description Studio sometimes fails to open an EventFlow application with this error:

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

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

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

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

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

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

#55871, SB-7125 Group labels can appear truncated.
Description Group labels longer than 12 characters are truncated and elided if the group is open, and truncated if longer than 5 characters if the group is closed.
Workaround Pad the end of the group label with space characters to prevent truncation.
#52959, SB-7075 Changing perspectives can rearrange the Studio toolbar.
Description The position of toolbar sections can change when you go from perspective to perspective, especially when going from the Authoring to the Demo perspective and back.
Workaround Eclipse toolbars do not have fixed locations, so this is expected behavior.
#49739, SB-6984 Actions unavailable when all folders are selected
Description After you collapse a Group in the EventFlow editor, Select All selects all the items in the group. However, actions performed on the group do not succeed. For example, Delete does not delete the items inside a group.
Workaround Uncollapse the group before performing the action
#48285, SB-6862 Not all databases have native blob support.
Description For example, Microsoft SQL Server and Sybase do not have blob support. For these databases, you can write blobs into varbinary and possibly other types. But when blobs are read from a select statement, they are returned as strings, not blobs.
Workaround Add a map operator and convert the string to a blob.
#37350, SB-6469 Submodule changes are not automatically reflected in a typecheck.
Description If you modify a module that is used by other applications currently open in other EventFlow Editors, and the relationship between the two applications is more than one level deep, Studio may fail to re-typecheck the application after the first is saved.
Workaround Invoke typechecking manually in such cases.
#37149, SB-6454 shutdown() called with a container-qualified URI shuts down the container, not the server.
Description The Javadoc documentation for StreamBaseAdminClient.shutdown() correctly states that it shuts down the server. However, if you create a StreamBaseAdmin client with a URI specifying a container, shutdown() shuts down the container, not the server.
Workaround Make sure the URI you use for the shutdown call does not say "default" container.
#36261, SB-6838 Studio 3.x workspaces not compatible with Studio 5.x
Description StreamBase Studio 5.0 introduced a new workspace format that is incompatible with the workspaces from previous releases. Studio 5.0 detects an attempt to use a previous version's workspace and prevents you from proceeding.
Workaround Start Studio 5.0 with a new, empty workspace. Then use File Import StreamBase Projects from StreamBase Studio 3.x. See Migrating StreamBase Studio 3.x Projects.
#35859, SB-6356 Large apps cannot be debugged in StreamBase Studio
Description When running an application in debug mode in StreamBase Studio that contains many operators (in the range of hundreds, including all modules), it is possible to cause Studio to display and log an error message about running out of handles. The error message may vary, but the symptom is that Studio is unable to display all the intermediate streams in the Application Output View or the Manual Input View.
Workaround Limit the number of output streams the application will expose when running in debug mode, by setting the sbd's JVM property to include the following:

streambase.codegen.intermediate-stream-dequeue-regex=( regex_pattern)

For example, setting the JVM arguments to include:

-Dstreambase.codegen.intermediate-stream-dequeue-regex=Map\\d

allows any intermediate stream that contains the pattern of a Map followed by a digit to be exposed as a dequeueable stream. All other intermediate streams normally available in debug mode will not be available.

#35743, SB-6346 Custom function C++ code typechecking is delayed until the application is generated
Description Most portions of a StreamBase application are typechecked in real time as you add features to an EventFlow or StreamSQL application. However, starting with release 5.0, typechecking for a custom function written in C++ is delayed until the application is generated and run.
Workaround None. Be aware that typechecking errors may not be reported as usual when using custom C++ functions.
#35429, SB-6327 sbd cannot run applications that generate class files with too long a name.
Description If you use modules, StreamBase can generate internal class names that are too long for the native filesystem (for example, 257 characters on Windows), causing problems running the StreamBase Server (sbd).
Workaround To avoid this problem, use small module reference names and minimize module nesting as much as possible.
#33330, SB-6241 When an application is running in StreamBase Studio on Windows, the Manual Input view and other views can lose details.
Description This is a known Eclipse bug. The problem occurs when you use the tab key. Borders around fields, other decorations, and some controls can disappear.
Workaround Minimize and then maximize the window, or resize the affected view.
#27349, SB-5894 Evaluation exceptions in Data Parallelism key and Subscribe predicate should not be handled by upstream operator
Description If an evaluation exception occurs for a Data Parallelism key, or in a filtered subscribe predicate, the exception is thrown and caught by the upstream operator, and reported as an error in the upstream operator.

One incorrect side effect is that if one predicate in filtered subscribe fails, then predicates that come after it in the list are not executed and tuples are not delivered. Similarly, if other operators are downstream and only one is set for data parallelism, the other operators may not see tuples. Which operators see tuples is effectively non-deterministic.

Workaround Either ensure that you do not have errors in the expressions, or use catchexception() as a wrapper.
#27060, SB-5882 Tuple dimensions do not reset counter when another dimension closes a window early
Description A tuple-based dimension that closes due to other dimensions (for example, after another dimension times out) does not reset its counter. When this happens, the next window will close based on the total number of tuples received, resulting in a partially full dimension.
Workaround None.
#26888, SB-5848 Issue with Parameterized Modules and Custom Java Operators or Embedded Adapters
Description In EventFlows, you cannot enter references to parameterized modules in custom Java operators or embedded adapters. This is due to a GUI limitation, currently under investigation, that prevents you from entering the required values.
Workaround Embed your custom Java operator or custom embedded adapter in a StreamSQL-defined module (see the APPLY MODULE statement in the StreamSQL Guide), and use an EventFlow module reference, through which you optionally share parameter values.
#26477, SB-5779 SBAPP-to-SSQL Conversion Assistant Resets Module Parameters to Default Values
Description If you run the SBAPP-to-SSQL Conversion Assistant on an EventFlow application that makes use of module parameter references, the resulting StreamSQL application does not have any module parameter references. They are replaced by their default values.
Workaround After the conversion, edit the StreamSQL file to add the non-default module parameter values.
#26255, SB-5749 Feed Simulation Editor's Data Rate Edit and Save Issue on Linux
Description In StreamBase Studio, the Feed Simulation Editor lets you set the rate (number of tuples per second) at which data will be generated for a stream. On Linux only, if you use the keyboard to enter an integer in the Data Rate textbox, the new value might not be saved.
Workaround After clicking into the text box and entering the value, press Enter or change the cursor's focus (for example, press Tab). Then press the Save icon or enter Ctrl+S. Note that if you press Ctrl+S while your cursor is within the Data Rate text box, the new value is not saved. You must press Ctrl+S again.
#25825, SB-5722 Input Adapter output and the Application Output View
Description Input adapters that read data from files, such as the CSV Input Adapter, when run under StreamBase Studio, may start so quickly that their output is not caught by Studio, if they have completed reading the file before Studio connects to the running server.
Workaround The workaround is to mark the adapter to start paused, and manually start it with sbadmin after the application is running.
#25228, SB-5628 Include Package with Custom Java Functions
Description If you use a custom Java function (simple or aggregate) with no package, javac returns a compile error.
Workaround Put the function in a package.
#25009, SB-5602, #25004, SB-5599 Embedded Adapters and StreamSQL
Description In StreamSQL applications, you cannot specify that an embedded adapter should start in a paused state, and you cannot manage the state of a running adapter in a StreamSQL application (although you can with EventFlow applications).
Workaround Use an EventFlow application with embedded adapters.
#15898, SB-5078 C++ Custom Aggregate functions cannot return a string
Description Custom aggregate functions that are implemented in C++ cannot return a string.
Workaround Create the custom aggregate in Java.
#14807, SB-4951 Problem running large applications in debug mode
Description Very large applications that run in standard mode may not start in debug mode, with errors such as code too large.
Workaround Organize the application into smaller modules.
#14763, SB-4937 Problem when tuple in top-level module consumes large amounts of CPU time
Description If the processing of a single tuple in the top-level module consumes a large amount of CPU time, contained parallel modules that are connected directly to output streams will see their output blocked until the tuple/operator releases the CPU and the tuples can be passed to the network.
Workaround Put the time-consuming computation into its own parallel module. This workaround may not solve the issue in all cases, because inter-module queues can grow very large, but may help in many cases.
#14745, SB-4931 SBAPP-to-SSQL Conversion Assistant Does Not Support Parallel Operators
Description If your EventFlow application file has individual operators that are marked for parallel operation, the SBAPP-to-SSQL Conversion Assistant cannot generate equivalent functionality in the generated StreamSQL application because there is no direct analogy for parallel operators in StreamSQL.
Workaround After the conversion, if appropriate for your application (no dependencies on data in other operations), you can use an APPLY PARALLEL MODULE statement or APPLY PARALLEL JDBC statement in the StreamSQL file. For details on the APPLY statement, see the StreamSQL Guide.
#14238, SB-4868 Memory problem with external JDBC data source queries
Description StreamBase Server can fail with an OutOfMemoryError exception while running an application with a JDBC query that generates a large result set using MySQL.
Workaround Note: Make sure you are running MySQL Version 5 or greater. StreamBase access to JDBC data sources does not support earlier versions of MySQL.

If you experience the problem described, consider limiting the number of rows that MySQL can read at one time. You can do this by enabling the new jdbc-fetch-size parameter in the data-sources section of the StreamBase server configuration file, and setting it to the Java Integer.MIN_VALUE literal, -2147483648. Note that, although other JDBC drivers interpret a positive jdbc-fetch-size value as a hint, MySQL drivers ignore all values except this magic value. See Using JDBC Data Sources for details.

#14207, SB-4854 Typecheck problem with DB2 JDBC datasources
Description SQL INSERT statements submitted to a JDBC data source in a Query operator or in an APPLY JDBC statement may pass typechecking even when they contain errors. This problem was detected only with an IBM DB2 data source.

For example, the following statement passes typechecking even if the named table or fields do not exist in the JDBC data source:

APPLY JDBC DB2 "INSERT INTO mytable (id, name) VALUES({id},
{name})" FROM InStream INTO OutStream;
Workaround Run the StreamBase application. If an error occurs against an INSERT statement, verify that the table name is correct. You can validate the INSERT statement by running it against a test database.
SB-4625 Spurious typecheck error when saving changes to a data construct associated with an operator
Description In some circumstances StreamBase Studio generates a typecheck error with a message to remove a row that you cannot remove because the row is not displayed in the Properties view. This can occur when you have edited a data construct associated with an operator and then attempt to save the changes.
Workaround You can work around the typecheck error by forcing StreamBase Studio to reread your changes. For instance, cut and paste an existing row, or change one character and change it back.
#13017, SB-4559 Join timeout is not asynchronous
Description Join timeout in the Join operator is not asynchronous. That is, the Join operator does not remove a tuple from its buffer until the timeout has passed and another tuple arrives on the same input stream. Tuples received on one input stream do not affect the buffer of the other input stream.
Workaround None.
#10674, SB-4225 Some disk drive configurations can corrupt disk-based query tables.
Description Some caching disk drives do not guarantee the sequencing of disk writes, nor do they guarantee that all the writes to the drive have actually happened. This behavior improves disk performance, but at the risk of data corruption in the event of a power outage or equipment failure. StreamBase is vulnerable to this kind of data corruption if your StreamBase application uses disk-based query tables.
Workaround Disk drives with this behavior usually have a driver-level setting to turn this capability on or off. For example, the driver may present you with a checkbox labeled Enable write caching on the disk. Unchecking this box would prevent the problem from occurring.
#10291, SB-4160 JVM crash during StreamBase Application compilation
Description When StreamBase Server first loads an application, it compiles it to Java code using the Sun Java compiler. Some StreamBase applications can cause the Sun Java compiler to crash during this phase. If this happens, StreamBase Server displays a stack trace that mentions OopFlow::build_oop_map. StreamBase is pursuing this issue with Sun, but in the meantime if you encounter this issue, contact StreamBase Systems for assistance in modifying your application to avoid the error.
Workaround Make slight changes to your application until the error no longer occurs. We are unfortunately unable to provide guidance about what specific changes to make.
#9620, SB-3955 Finding sbd process failure details
Description When StreamBase Studio runs an application, it launches the server process (sbd) in the background. If sbd fails for any reason, Studio tries to report the reason to you. However, the actual message that StreamBase Studio displays may not contain enough information,depending on the failure.
Workaround To get more information about the reason for the sbd process failure, open the Eclipse error log as described in Error Log View in the StreamBase Studio Reference.
#8174, SB-3585 Inconsistent support for undo in StreamBase Studio
Description Many editing operations in Studio cannot be undone. This includes operations such as renaming operators, editing query tables, copying schemas, adding operators from the palette, editing feed simulations, and so on.
Workaround The Revert command in the File menu can be used to undo all changes since the last time a file was saved.
#7361, SB-3308, #2585, SB-1601 From Windows, custom-simple-function and custom-aggregate-function samples do not work with Solaris server or 64-bit Linux server
Description On Windows, the installed custom-simple-function and custom-aggregate-function samples contain library files (log.so and stdev.so, respectively) that are built for Linux. These custom functions will work properly only when StreamBase Studio is connected to a 32-bit Linux server, not a Solaris server, or a 64-bit Linux server.
Workaround To use the custom-simple-function and custom-aggregate-function samples with a Solaris server:
  • On the Windows or Linux machine where you are running StreamBase Studio, use the File > Import StreamBase Samples menu item to import the plugin-function or plugin-aggregate sample into your workspace.

  • Remove log.so or stdev.so from the sample project.

  • Copy /opt/streambase/sample/plugin-function/log.so or /opt/streambase/ sample/plugin-aggregate/stdev.so from your Solaris server machine to your Windows client machine.

  • Use the "File > Import..." menu item to import the copied log.so or stdev.so into the sample project.

#7346, SB-3301 Heartbeat and Metronome do not respect pause in the debugger
Description The pause command in the debugger will not prevent Heartbeat and Metronome operators from outputting tuples due to the passage of time. This could cause unexpected results when debugging applications that make use of these operators.
Workaround None. For more information about these operators see the Heartbeat Operator and Metronome Operator documentation.
#7191, SB-3260 Using non-member Schema.Field to access a Tuple Does Not Throw Useful Exception
Description The StreamBase client API does not throw a useful exception if you inadvertently reference the wrong Schema while using Schema.Field to access a Tuple. Under C++, no exception is thrown and memory corruption may occur. Under Java, an ArrayIndexOutOfBoundException is thrown.

This applies both to using fields from other schemas, or to using the Field objects that were used to create the Schema. Fields that are used to create a schema are not fully initialized, and so you must get the actual Field from the new Schema object in order to access the fields of a Tuple.

Workaround None via the API; you must examine your client code and verify that the correct Schema is referenced.
#6860, SB-8698 Aggregate dimensions do not support advance on infinite dimensions
Description In an Aggregate operator's Properties View, the Dimensions tab includes a setting for Window Size. One of the size options is Do not close window based on this dimension. If selected, this dimension cannot cause the closing of a new window for the Aggregate. If a new window is never opened, this creates an infinite sized window that never closes (for the life of the StreamBase Server). Application designers may set up this feature, for example, to ensure that an Aggregate processes an entire day's volume of streaming data. However, a limitation is that Aggregates with infinite dimensions do not support an Advance value that you set in the Opening Policy.
Workaround None.
#6539, SB-3121 Mozilla issue with StreamBase Studio Welcome page and Help
Description On Linux, the StreamBase Studio Welcome page and Help require that Mozilla or Firefox is installed and can be located. If you removed Mozilla, or installed it in a non-standard location, or moved it, the Welcome page or Help may not appear.
Workaround Before using StreamBase Studio, set the environment variable MOZILLA_FIVE_HOME to the path of your Mozilla installation. For example, on Linux, set it to:
MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.3
export MOZILLA_FIVE_HOME
#5400, SB-8640 Java Operator with zero inputs does nothing
Description While it is not an error to create a Java Operator with zero input ports, the processTuple method will never be called, thus the Java Operator can never emit any tuples.
Workaround None.
#5389, SB-2931 Relocatable RPMs install incorrect symlinks in /usr
Description The Linux RPM packages are relocatable. This means that the default installation location of /opt/streambase can be changed to a different location. However, if this is done, symbolic links are still installed in /usr/bin and /usr/lib that point to /opt/streambase.
Workaround Either edit the symbolic link by hand, or use the tar file instead of the RPMs to install StreamBase on Linux.
#5327, SB-2891 Error messages while creating Java operators lack detail
Description Any exceptions during the creation of a Java operator from within StreamBase Studio will result in a "Can't make new object: (operator name)" message, with no additional information.
Workaround Run the application in sbd directly for additional diagnostic information. Verify the correct JAR files are specified in your project's Custom Libraries. Verify the classes are in the JAR files. Verify that the manifests of the JAR files are correct. For more information, see Creating Java Clients. The error log may have additional diagnostics.
#4824, SB-2617 For Java operators and modules, typechecking may occur regardless of connections
Description Java operators and modules are typechecked independently of their connections to other components. For modules, this may result in errors that do not clearly describe the problem. For example, if you have an application containing a module with its inputs connected, then delete an input stream that the module references, and then return to the referencing application, the arc (connection) will be dropped. However the following typecheck message will appear: "Error in referenced application: <input> lacks required attribute 'stream'".
Workaround None.
#4451, SB-2507 Java API IOException when client program is suspended
Description A program using the StreamBase Java API may receive an unexpected IOException if it is suspended (using either Ctrl-Z, or kill -SIGSTOP). The IOException will be thrown when the program is resumed, or placed in the background. The exception may be thrown even if there is no network traffic at the time. This issue does not apply to Windows systems.
Workaround Do not suspend StreamBase clients written in Java.
#4289, SB-2482 Data sent to multiple streams may get out of order
Description StreamBase Server does not preserve the relative ordering of input tuples received on different input streams. This affects tools such as sbfeedsim, which replays recorded data. It also affects the client API, if tuples are enqueued to different streams.
Workaround In some cases you may be able to use a Merge operator to reorder your input data. However, note