Contents
- New in StreamBase 6.1.2
- What Was New in StreamBase 6.1.1
- What Was New in StreamBase 6.1.0
- What Was New in StreamBase 6.0.4
- What Was New in StreamBase 6.0.3
- What Was New in StreamBase 6.0.2
- What Was New in StreamBase 6.0.1
- What Was New in StreamBase 6.0.0
- What Was New in StreamBase 5.1
- What Was New in StreamBase 5.0
- What Was New in StreamBase 3.7
- What Was New in StreamBase 3.5
- What Was New in StreamBase 3.1
- What Was New in StreamBase 3.0
Date: 26 Sep 2008
This topic summarizes the history of significant changes in StreamBase releases. For current and resolved limitations see the StreamBase Release Notes.
StreamBase 6.1.2 is primarily a maintenance release, and includes the following updates:
- SSH Keyboard-Interactive Authentication Now Supported
-
Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. StreamBase Studio now also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the → dialog, on the → page. See Launching Preferences for details.
- Behavior Change for Some Container Connections
-
For stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.
- New Feature in StreamBase to StreamBase Adapters
-
The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase-to-StreamBase Input Adapter and StreamBase-to-StreamBase Output Adapter.
- Expression Language Addition
-
This release adds the
new_tuple()function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language and Functions for details. - API Changes
-
In preparation for anticipated new features, some methods in the
OperatorandSBPropertyDescriptorclasses in the Java Client API were marked deprecated. There is no behavior change in the API for release 6.1.2.
StreamBase 6.1.2 also fixes several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 6.1.1 was primarily a maintenance release, and included the following updates:
- Client API Now Added by Default
-
The New StreamBase Project dialog was changed to enable support for the StreamBase Client API and StreamBase Tests by default.
- Expression Language
-
-
The expression language gained a new function,
today_utc(). -
The documentation for the
coalesce()function was updated.
-
- Studio Run Configuration Dialog
-
Release 6.1 added the Containers tab to the StreamBase Application section of the Run Configuration dialog. Release 6.1.1 added a button to the Container Connections section of that tab, and widened the Add and Edit dialogs to better accommodate long container names. See The Containers Tab for more on this new feature.
- Feed Simulation Editor
-
When editing a feed simulation, if you select the Default generation method, the controls in Data rate section are now greyed out.
- Documentation Updates
-
The following documentation pages were clarified since release 6.1.0:
-
The EMS/JMS adapters (both embedded and external versions) were renamed the JMS adapters and their documentation pages updated and clarified. See JMS Input and Output Adapters and JMS External Adapters.
StreamBase 6.1.1 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
| Enhanced HA Support |
| StreamBase Studio Updates |
| System Changes |
| Adapter Changes |
| Sample Changes |
| API Changes |
StreamBase 6.1.0 added or enhanced several features that can be used when designing clustered and highly available StreamBase applications.
- More Than Two Nodes for HA Configurations
-
You can now connect three or more StreamBase Server instances in a highly available cluster. This change is implemented in two features, the HA Heartbeat Adapter, and the syntax for addressing multiple StreamBase URIs.
When setting up HA monitoring with the HA Heartbeat adapter, you must still designate one instance of the HA Heartbeat adapter as the heartbeat server. The change is that you can now connect more than one HA Heartbeat adapter as client to the heartbeat server. See HA Heartbeat Input Adapter.
When using the sbc utility or a custom-written client based on the
StreamBaseClientAPI, you can now address two or more StreamBase Server instances in the same command by using a comma-separated list of StreamBase URIs. See the sburi reference page for details. The following example uses StreamBase URI shortcuts to request status information from four StreamBase Server instances running on four TCP ports on the default host,localhost:sbc -u :9600,:9700,:9800,:9900 status
- Reliable Stream to Stream Container Connections Using JMS
-
You can now connect two streams in containers on separate servers, passing through your site's Java Message Service (JMS) infrastructure. This feature allows you to use the reliable delivery feature of JMS to ensure delivery of StreamBase tuples. To use this feature, specify two container connections:
-
From StreamBase Server A to JMS.
-
From JMS to StreamBase Server B.
StreamBase supports JNDI-style JMS URIs, as described in Connecting Container Streams Through JMS. You can make the two JMS connections either in the server configuration files of two StreamBase Servers, or on the command line with the sbadmin addContainer command as described on the sbadmin reference page.
-
- New HA2 Sample
-
Release 6.1 added a second HA sample, which demonstrates the following:
-
Ensuring that an application is running on one or the other of two servers, where the application requires access to a disk-based query table.
-
Testing for the presence of an application in another container and starting the application if it is not found.
-
Using the External Process Command Line operator to run commands specific to high availability design patterns.
-
- New Sequence Operator
-
A new operator was added to the Operators drawer in the
Palette view in Studio. To each passing tuple, the Sequence operator adds a
field that contains a unique identifier generated for that tuple. You can
use the identifier field downstream as required by your application, such
as to generate a keyword for tuples before storing them in a query table.
You can link two or more Sequence operators together to share the state of
the counter. See Using the Sequence Operator.
For StreamSQL, the functionality of the Sequence operator can be implemented with a dynamic variable, as described in Using Dynamic Variables to Implement a Sequence Operator.
- Per-Container Data Directories
-
A data directory is a file system location where a running StreamBase Server instance stores the files that implement disk query tables. Starting with release 6.1, you can specify a separate data directory location for each container, using either the new
datadirserver configuration file attribute, or interactively with sbadmin addContainer command options. See the StreamBase Server Configuration XML and sbadmin reference pages. This feature is illustrated in the new HA2 sample, described above. - Per-Container Module Directories
-
A module directory is a file system location containing external application modules to be used at run time. You can now specify a separate module directory for each container, using the
--moduleSearchoption for the sbadmin addContainer command. See the sbadmin reference page. - New –C Option for sbc list
-
The
sbc listcommand now accepts a new option,–C, which lists the streams and operators for the specified container. See the sbc reference page. For example, the following command lists the contents of the container namedcontainer-namemainappon the default server and port:sbc list -C mainapp
- New HA Timeout Variables
-
Several new environment variables and Java properties were added to support fine-grained control of timeouts for clients connecting to StreamBase Servers. See Environment Variables and Java Properties.
- Improvements to the External Process Operators
-
The External Process Java operator was added in release 5.1, and the External Process Command Line operator was added in 6.0. These operators provide a way for StreamBase applications to run arbitrary operating system commands as if typed at the shell command prompt for the current operating system. This feature is especially useful in HA application contexts, where an application in one container might need to send an sbadmin command to an application in another container or on another StreamBase Server.
In previous releases, these operators did not appear in the Palette in Studio, but were delivered as JAR files that had to be added to the Java Build Path of your Studio projects. Starting with release 6.1, these operators now appear in the Global Operators & Adapters Palette drawer, and can be dragged into your EventFlow canvas like any other operator. Both operators are described on the same Authoring Guide page, Using the External Process Operators.
In release 6.1 in both operators, you can now specify the prefix prepended to input tuple fields, command argument fields, and environment variable fields, if you include these fields in the outgoing tuple. In the External Process Command Line operator, you can now optionally include the specified command line in the outgoing tuple.
- New Real Time Profit and Loss Demo
-
The SB Demos perspective has a new member, the Real Time Profit and Loss demo.
- Launch Applications in Containers from Studio
-
Studio 6.1 introduced the ability to run separate applications or modules in separate containers when launched to run from Studio. Studio still runs only one instance of StreamBase Server at a time, but if you partition your application into separate containers for deployment, you can now run and test those multi-container applications in Studio. This feature also allows you to make stream to stream or other connections between containers at launch time.
The limitations are that the primary application still runs in a container named
default, and that the Studio visual debugger cannot follow a debugging thread across container lines. See The Containers Tab for more information. - Palette Drawer Renamed to Global Operators & Adapters
-
The Palette drawer called Global Adapters in previous releases was renamed to Global Operators & Adapters. This drawer now contains icons for:
-
Each embedded adapter delivered in the base StreamBase kit.
-
Each adapter you installed from separate installation kits.
-
Java operators usable in any project in your workspace, delivered in the base StreamBase kit, like the External Process operators described in the previous section.
-
- Improved Support for Nested and Anonymous Schemas
-
StreamBase Studio 6.1 extended and improved the support for hierarchical data and nested schemas first offered in release 6.0.
-
In 6.0, you could only use a named schema to define a field of type
tuplein a schema definition. Release 6.1 adds the ability to define a field of typetuplein the Edit Schema tab, and to define the individual fields of the resulting anonymous tuple. -
You can now specify nested tuples when defining the schemas for feed simulations. See Using the Feed Simulation Editor.
-
You can now specify nested tuples in setting up a unit test, when defining both the input schemas for the test and the output for the test to validate against. See Using the StreamBase Test Editor.
-
Studio now correctly interprets CSV files that have nested layers, and can now be set to interpret flat CSV files as if they were nested. See Using the Map to Leaf Fields Option.
See Schema Overview to understand the different schema-related terms.
-
- Schema Table Editing Improvements
-
All the schema editing tabs or dialogs in Studio 6.1 now support the tuple data type, and have the following usability improvements:
-
All schema editing tables now have a new button (
) to add new sub-rows
to a row defined with the tupledata type. -
Pressing the Insert key now adds a row to the top-level schema, or adds a sub-row to a tuple, depending on the currently selected row.
-
The current cell is now highlighted with a border.
-
In navigation mode (when you're not editing cell contents), you can use the arrow keys to navigate in four directions in the table.
-
In cell edit mode, the Tab key navigates across, then down the table, including any tuple data type sub-rows, to the end of the table. Shift-Tab navigates backwards.
-
You can select one or more rows in any schema table editor, copy them to the Studio clipboard, and paste them to the same schema table or to another schema table editor for another component. Pasted rows are always pasted to the end of the table's top level, independent of the current row location, and independent of any nested tuples in the schema.
-
- New Filter for Application Output View
-
In the SB Test/Debug perspective, the Application Output view now has a filter field that accepts a regular expression to limit the display of rows in the view. The filter expression defines a strict string match, and must include wildcard characters to include parts of the row you are not filtering.
For example, when running the Best Bids and Asks sample, the filter
*symbol=T?B*matches all rows containing the stringsymbol=followed byT, any character, thenB, surrounded on both sides by any string:
Use the clear button to empty the filter field and restore the full output view.
- Pause and Resume Feed Simulations
-
The Feed Simulation view in the SB Test/Debug perspective now has a button that lets you temporarily suspend a running feed simulation. When paused, the button changes to a button. The / button applies only to the selected feed simulation file in the view.
- Feed Simulations Automatically Paused While Debugging
-
While using Studio's Visual Debugger on an application with breakpoints set, when the first breakpoint is reached, Studio prompts for permission to pause all the application's feed simulations. In most cases, you can respond Yes, and then step through your application using tuples already placed in the input queue by the feed simulation before it was paused.
In large applications with several input queues each fed by a different feed simulation, you might not want to have all the application's feed simulations paused. In this case, respond No, and then control which feed simulations are paused using the / button described above.
- Reuters Schema Designer View Added
-
The StreamBase Studio SB Authoring perspective now includes the Reuters Schema Designer view, which allows you to browse and discover available RMDS data on your network, and to create a StreamBase schema from a selected set of discovered field identifiers. This view was previously available only in StreamBase Reuters Edition, but as of release 6.1, the view became part of standard StreamBase Studio. This view is described in Reuters Schema Designer View.
- RFA Configuration Wizard Added
-
The RFA/Java Configuration wizard, previously available only in StreamBase Reuters Edition, is now part of standard StreamBase Studio. You start the wizard by running → → , or by selecting the link in the top right corner of the Reuters Schema Designer View. This wizard lets you test RMDS connectivity and configure your system's RFA/Java configuration without leaving Studio. The wizard is described in Reuters RFA/Java Configuration Wizard.
- Full Overlay Icons Now Supported
-
Release 6.0 added support for customized Palette and canvas icons for your custom operators and adapters. In Release 6.1, this support was extended with a new option. In the Metadata tab of the EventFlow Editor, if you specify a 24x24 pixel image file in the Canvas Overlay field, that image is overlaid as before in the lower right corner of the operator's canvas icon. If you specify a 48x48 pixel image file, it now replaces the operator's canvas icon.
- Changes to the sbadmin Command
-
The sbadmin utility has the following new features and updates:
-
The
addContainercommand has a new--datadiroption to support per-container data directories, as described above. -
The
addContainercommand adds syntax support for making container connections that use JMS reliable connections. -
The
saveContainercommand is now deprecated and may be removed in a future release. For identical functionality, use the sbargen utility.
-
- Expression Language Changes
-
Release 6.1 introduced the following new functions to the StreamBase expression language: trim(), ltrim(), rtrim(), upper(), lower(), inet_aton(), and inet_ntoa().
There is now a two-argument version of round() that behaves much like the round() function in Microsoft Excel.
Documentation clarifications and updates were made for the count(), openval(), closeval(), and systemproperty() functions. The expression language is documented in StreamBase Expression Language and Functions.
- Server Configuration File Change for JDBC Data Sources
-
In previous releases, two sets of server configuration file parameters in the
data-sourcesection for JDBC data sources were mutually exclusive. Starting with release 6.1, you can use thejdbc-batch-sizeandjdbc-reconnect-*parameters for the same JDBC connection.
- Reuters Embedded Input Adapters Now in Base Kit
-
The Reuters RMDS Subscribing Adapter and the (deprecated) Reuters Subscribing Adapter are now installed as part of the base StreamBase installation package. In previous releases, both adapters had separate installation kits. See Reuters RMDS Subscribing Input Adapter.
- New Option for Binary and CSV Output Adapters
-
The Binary File Writer Output Adapter and the CSV File Writer Output Adapter both have a new Sync on flush option in the adapter settings tab in the Properties view. This option ensures that operating system buffers are written to disk on a flush event, but at the expense of a performance penalty. See Binary File Writer Output Adapter and CSV File Writer Output Adapter.
- Messages from Adapters Now Have Identifying Prefixes
-
Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) are now prefixed with a string that identifies the adapter instance sending the message.
- JMS Embedded Output Adapter Change
-
If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (
__JMSServerNameand__JMSDestinationName).
- Counter Sample Removed
-
The StreamBase sample formerly installed in
sample/counterwas removed. This sample demonstrated a way to add a sequence field to each passing tuple, but that functionality is now provided by the new Sequence operator described above. - New Samples for Pattern and Sequence Operators
-
When you load the
operatorsample package, the resulting Studio project includes sample EventFlow and documentation files to illustrate most operators and data constructs in the Studio Palette view. With release 6.1, this sample package includes samples for the Pattern and Sequence operators. - New HA2 Sample
-
Release 6.1 includes a new sample in
sample/ha2, which is described above in Enhanced High Availability Support and in High Availability Sample 2: Shared Disk Access.
- Java API Changes
-
In release 6.1, in the
StreamBaseAdminClientclass,modifyApplication()andmodify()were deprecated. UseaddContainer()instead.In the
Tupleclass, thegetFields()method was previously defined as being able to throw aTupleException. ThegetFields()method can no longer throw this exception, and the throw signature has been removed. If your code has atry-catchblock specifically for this exception, remove thetry-catchblock. - Changes in All APIs
-
In the Java, C++, and .NET APIs, the
flushBuffer()method of theStreamBaseClientclass was modified to return a helpful error message if called before enqueuing was enabled for a stream.
StreamBase 6.1 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 6.0.4 was primarily a maintenance release, and included the following updates:
- SSH Keyboard-Interactive Authentication Now Supported
-
Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. Starting with release 6.0.4, StreamBase Studio also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the → dialog, on the → page. See Launching Preferences for details.
- Behavior Change for Some Container Connections
-
Starting with release 6.0.4, for stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.
- New Feature in StreamBase to StreamBase Adapters
-
The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase-to-StreamBase Input Adapter and StreamBase-to-StreamBase Output Adapter.
- JMS Embedded Output Adapter Change
-
If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (
__JMSServerNameand__JMSDestinationName). - Messages from Adapters Have Identifying Prefixes
-
Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) have as a prefix a string that identifies the adapter instance sending the message.
- Expression Language Addition
-
This release adds the
new_tuple()function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language and Functions for details. - Java API Changes
-
In the
Tupleclass, thegetFields()method was previously defined as being able to throw aTupleException. ThegetFields()method can no longer throw this exception, and the throw signature has been removed. If your code has atry-catchblock specifically for this exception, remove thetry-catchblock. - Changes in All APIs
-
In the Java, C++, and .NET APIs, the
flushBuffer()method of theStreamBaseClientclass was modified to return a helpful error message if called before enqueuing was enabled for a stream. - Documentation Updates
-
The Visual C++ settings for building custom functions and client applications with the StreamBase client API were updated and moved to a separate page, Configuring Visual C++.
StreamBase 6.0.4 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 6.0.3 was primarily a maintenance release. It also included the following updates to the documentation:
-
The Log Adapter and Once Adapter, introduced in release 6.0, are now described in Once Input Adapter and Log Output Adapter, respectively.
-
The sample for the Log Adapter is described in Log Output Adapter Sample, while the sample for the Once Adapter is described in Once Input Adapter Sample.
-
The page that describes setting up StreamBase Server to run as a Windows service was updated and corrected. See StreamBase Services and Registry Keys on Windows.
-
A possible issue when migrating applications that use dynamic variables is now flagged in the 6.0.1 section below and in the Migration Guide.
StreamBase 6.0.3 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 6.0.2 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 6.0.1 included the following new features:
- Migration Issue with Dynamic Variables
-
If your EventFlow or StreamSQL application uses dynamic variables, there may be an issue when migrating your applications. Previous releases allowed you to use the same name for variables, field names, and stream names. Release 6.0 introduced support for hierarchical tuples, and introduced self-referencing dynamic variables. These features were added at the cost of the possibility of ambiguity in resolving the names of identically named objects. For details on this issue, including workarounds and best practice recommendations, see the entry for SB-11437 in the 6.0.1 Release Notes.
- Visual Debugger Display Updates
-
Release 6.0.1 introduced execution path display browsing for the visual debugger. In release 6.0, the visual debugger highlighted the top suspended operator in the EventFlow canvas when a breakpoint was reached. In release 6.0.1, the full execution path leading to the suspended operator is highlighted. If you select a suspended operator, Studio highlights it with a border. The top executed component is also bordered.
EventFlow paths are thread-specific. This means that if execution switches to a new thread (for example, at a multi-threaded operator), the path display in the previous thread is removed and a new path starts at the new thread's starting point (for example, a multi-threaded operator).
In the case of branching paths, all branches are shown, if they are in the same thread. The last executed path can be identified by its top operator, which is highlighted with a border.
Output streams are now steppable. This improves the clarity of the execution path, as well as providing a complete path while stepping through multi-module applications. In release 6.0, it was possible only to step up to an output stream, but not over it. In 6.0.1, it is possible to step over output streams. If an output stream is the last executable operator in a multi-module application, the application can only be resumed after stepping over such operator. That is, further stepping is disabled.
- Chronicle Support for Vhayu Velocity
-
This release added Vhayu Velocity versions 6.4 and later to the external event-store databases supported by StreamBase Chronicle. Contact your StreamBase Systems representative for more information on the Chronicle for Vhayu add-on kit.
- Chronicle Support for Reuters RTCE
-
The Chronicle for Vhayu kit also provides support for the Reuters Tick Capture Engine, which is powered by Vhayu Velocity. Contact your StreamBase Systems representative for more information on StreamBase's support for RTCE.
- JDBC Support for Sybase IQ
-
This release added support for JDBC access to Sybase IQ version 12.7. This supplements the existing support for JDBC access to Sybase ASE version 12, and the Chronicle for Sybase RAP add-on kit.
- New HTTP and IRC Embedded Input Adapters
-
This release added two embedded input adapters to the IP Adapters installation kit. The HTTP adapter reads HTTP protocol messages from a TCP stream and converts them to tuples, optionally filtered by a keyword. The IRC adapter does the same for IRC protocol messages.
StreamBase 6.0.1 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
| Navigation links | |
| New Features | Adapter Changes |
| Enhanced Features | API Changes |
| StreamBase Studio Updates | |
- Visual Debugger
-
Starting with release 6.0, StreamBase Studio includes a visual debugger for EventFlow applications. In the SB Test/Debug perspective, standard Eclipse debugger views can now be used for debugging EventFlow applications, including the Debug, Breakpoints, and Variables views. You can set breakpoints on arcs in the application. When you run an application in debug mode, you can stop on breakpoints, pause the application, step through the application, and step into or step over modules. The Variables view shows tuple contents as execution passes through various processing stages. With the debugger running, an execution stack is preserved for the application as a whole, which allows you to review the steps of your debugging session and return to any step. The Variables view and breakpoint highlighting in the EventFlow diagram are coordinated with selections in the execution stack. See Using the Visual Debugger.
In previous releases, the Debugger View contained the command line debugger, sbdb. Starting with release 6.0, the Debugger View was removed from StreamBase Studio. The sbdb command is still delivered as a command line tool for use outside of Studio, but its use is deprecated and it may be removed in a future release.
- Unit Testing of Modules in StreamBase Studio
-
Starting with release 6.0, you can develop unit tests for StreamBase modules to confirm that your modules return the expected result tuple given known input streams. You can create a unit test in Studio by creating a test file in
.sbtestformat, using the new graphical StreamBase Test Editor, or by recording the input and output streams of a running application and saving the results as a test file. You can edit saved tests in Studio with the Test Editor. The new sbtest command provides a way to run a saved test file from the command prompt. See Running Unit Tests. - Profiling Support
-
StreamBase now supports profiling of StreamBase applications, which lets you gather runtime statistics for an instance of StreamBase Server over the course of an entire run. The sbmonitor window has a new profiling view. Use the new sbprofile command to gather profiling statistics from a running server, and to display a saved statistics file in CSV or simple HTML table format. See Profiling StreamBase Applications.
- Named Schemas
-
Starting with release 6.0, you can define schemas as named objects at the application level. Named schemas and their fields can be referenced in any component that takes a schema, and in expressions throughout EventFlow and StreamSQL applications. The EventFlow Editor now includes a Named Schemas tab that lets you store named schemas for reuse throughout your application. In StreamSQL, you can create named schemas using the new CREATE SCHEMA statement. See Schema Overview.
Unnamed schemas are still supported, and are now called private schemas in Studio and anonymous schemas in StreamSQL. A private schema is accessible only to the component in which it is defined, and to connected downstream components in the application flow.
- Hierarchical Data and New Tuple Data Type
-
StreamBase now supports hierarchical data by means of a new data type, tuple, which is a collection of one or more fields defined in an associated schema. A tuple schema can contain one or more nested schemas (including named schemas, described above) to an arbitrary depth. You can access tuple data in StreamBase expressions and in CSV data files. The Manual Input view in Studio's SB Test/Debug perspective shows a tuple field indented and containing its own input fields.
Important
Hierarchical data and nested schemas are not yet supported when using feed simulations or with the new Unit Test feature described above.
- Logging Support for Java Code
-
When developing custom Java clients, operators, adapters, or functions, you can now take advantage of the Java logging facility used internally by StreamBase code. The existing
com.streambase.sb.util.Msgis deprecated and now delegates to the new logging facility. The new logging facility is based on SLF4J, which can be extended to support other Java logging interfaces; the default logging implementation is logback. The new logging facility is embedded insbclient.jar, which makes it available for all custom StreamBase Java code. Start logging with a call toOperator.getLogger(). Studio's Java code generation wizards now include examples of usinggetLogger(). You can also use the logging facility in conjunction with the new Log Output Adapter described below. See Using Logging in Java Code. - Platform Support Changes
-
-
StreamBase 6.0 includes support for the 64-bit version of Windows Server 2003 for both development and deployment. See Installing StreamBase on 64-Bit Windows for more information.
-
Red Hat Enterprise Linux AS 3.0 and Novell SUSE Linux Enterprise Server 9 are now deprecated as platforms for new development or deployment.
-
- JDK 1.6 Bundled for All Platforms
-
This release has the following changes to the Sun JDK bundled with StreamBase.
-
For Windows, the JDK version installed for private use by StreamBase is now 1.6.0_03.
-
For Linux and Solaris installations, a working subset of Sun JDK 1.6.0_03 is now installed for private use by StreamBase Studio and StreamBase Server, and this JDK is used by default.
For all platforms:
-
If you are using the bundled JDK 6 with Studio, but want to make sure that your Java projects still work with JDK 5, change your Java > Compiler settings to 5.0. Use the → dialog to make this change for your entire workspace, or for selected projects.
-
You can specify the use of another JDK, overriding the default, using the instructions in Using an External JDK.
-
- Performance Improvements
-
The handling of streams with wide schemas was improved, resulting in a significant StreamBase Server speedup for certain classes of applications when handling such streams.
- StreamBase Expressions in Java Operators and Adapters
-
You can now use StreamBase expressions in Java operators and adapters that you write to extend StreamBase. Your operators and adapters can access dynamic variables by means of expressions.
- Application Files Now UTF-8 Encoded
-
StreamBase EventFlow application files (.
sbapp) and StreamSQL files (.ssql) are now UTF-8 encoded on all platforms. In previous releases, files were interpreted with cp1251 on Windows.You can override the new default settings to make the server use a different encoding when reading files. Do this with the
-Dfile.encodingparameter in the configuration file for the server. For example:<param name="jvm-args" value="-Xms64m -Xmx256m -Dfile.encoding=Cp1252"/> - JDBC Operator Changes
-
The JDBC operator was enhanced to support stored procedures, and you can now specify an exact schema for a data source in both EventFlows and StreamSQL, instead of relying on automatic typechecking. When batching, you can now specify a timeout.
- StreamBase URI Shortcuts
-
You can now use shortcuts when specifying a StreamBase URI in Java or C++ code that uses the StreamBaseURI class, or when specifying a URI for the sb* command-line utilities. The shortcuts are documented in the sburi reference page.
- URIs Shown in Error Messages
-
When using the sb* command-line utilities, in many cases, the URI from the failing StreamBase Server instance is included in the error message if a command fails. This is useful in high availability scenarios to determine the cluster member on which the error occurred.
- New Features to Support High Availability and Clustering
-
The following features were added to support the new StreamBase HA and clustering solutions introduced in release 5.1:
- Legacy Clustering Removed
-
Release 5.1 removed documentation for the legacy StreamBase clustering implementation and deprecated the sbclusterd and sbnoded commands. As of release 6.0, the commands themselves were removed.
- New Information Shown in sbmonitor
-
Inter-module and inter-container queue lengths are now displayed in the sbmonitor window.
- New Command for sbmonitor
-
While sbmonitor is running, you can use the + and – keys to increase or decrease the size of the top operator output.
- Synchronous Container Connections
-
Connections between containers are buffered by default. You can now specify a synchronous container connection by using
:=instead of just=in the sbadmin addContainer or sbadmin modifyContainer command that creates your container connection. See Synchronous Container Connections.
- Updates to sbmonitor
-
In addition to the HA support changes described above, the sbmonitor command has the following new features:
-
sbmonitor now displays in the top status lines the number of enqueue connections as well as the number of dequeue connections to the monitored server instance.
-
sbmonitor's operator view now shows exponential time weighted statistics for each operator. This shows you which operator has the highest percentage of CPU usage right now.
-
sbmonitor now has a profiling view that you enter by typing
P. In this view, you can see which operators have the highest percentage of CPU usage over an entire sbmonitor session.
-
- StreamSQL Updates
-
The StreamSQL language was extended with the following features:
-
The new CREATE SCHEMA command brings named schema support to StreamSQL.
-
You can now optionally specify a name for Java operators and embedded adapters. Named operators and adapters can be suspended, resumed, and shut down using the sbadmin command. For example:
APPLY JAVA "com.example.sb.mogrifier" AS mogrify FROM instream INTO outstream;
-
- Enhanced StreamBase Manager
-
StreamBase Manager, a GUI alternative to the text-based sbmonitor command, was enhanced with new views. For Windows installations, StreamBase Manager is now an entry in the StreamBase section of the Start menu.
- Chronicle Updates
-
StreamBase Chronicle is an optional high-capacity event-store that can be used to provide persistent data storage in association with streaming applications. This release includes the following updates to Chronicle:
-
Chronicle for Vertica now supports Vertica 2.1.
-
Chronicle for Sybase RAP now supports the API for the Trading Edition of Sybase RAP for direct loading of the data store. Previous releases used CSV files as an intermediary for loading Chronicle for Sybase data stores.
Contact StreamBase Systems for information on adding StreamBase Chronicle to your StreamBase implementation.
-
- Expression Language Changes
-
The following simple functions were added to the StreamBase expression language:
coalesce_tuples(),format(),format_time(),parse_time(),tuple(), and the tuple constructor. The following aggregate functions were added:median(),withmin(), andwithmax().The
min()andmax()aggregate functions were extended to support any data type that can be compared with < or >, which includesint,double,long,timestamp,string, andblob. See StreamBase Expression Language and Functions for details.Dynamic variables can now be used as bare values in aggregate expressions. In previous releases, you could write
sum(K) + sum(x), orlastval(K) + sum(x), where K is a dynamic variable. Now you can writeK + sum(x). The value of K at calculation time is used to find the result of the aggregate expression. - Self-Referencing Dynamic Variables
-
In EventFlow applications (but not yet in StreamSQL), dynamic variables can now be self-referencing in the update expression. This means update expressions can use the old value in order to do up the update. For example, the update expression for the variable
countercould becounter + 1to get incrementing behavior. This functionality can also be used to conditionally update a variable based on other conditions in the update stream. - New Samples Added
-
This release includes the following new samples:
-
The Output Filtering sample illustrates the output stream predicate feature added in StreamBase 5.0. See Output Filtering Sample.
-
The Round Robin sample illustrates round-robin dequeuing. See Round Robin Dequeuer Samples.
The
firstappsample and its associated Getting Started tutorial in the Help system were revised. -
- Studio Based on Eclipse 3.3
-
StreamBase Studio is now based on Eclipse 3.3.2. This allows you to install third-party Eclipse plug-ins that support or require Eclipse 3.3, including plug-ins that add version control to Studio.
- Perspectives Renamed
-
StreamBase Studio's three perspectives were renamed to SB Authoring, SB Test/Debug, and SB Demos. This improves the perspective name's visibility in the default-sized perspective bar.
- Simplified Run and Debug Buttons
-
StreamBase Studio 6.0 provides one Run and one Debug button in the Studio toolbar, to be used for StreamBase applications and for other Eclipse Run and Debug functions you may need. In the 5.x release series, StreamBase Studio had Run and Debug buttons from the Eclipse framework, plus two separate Run and Debug buttons for StreamBase applications. Studio 6.0 restores the Run button simplicity of the 3.x release series.
- Support for Precompiled Applications in Studio
-
Studio now supports the generation of precompiled application files (
sbarfiles) as part of the builder running over your StreamBase projects. This significantly improves the startup time of those applications when launched from Studio. By default, generating precompiled files is disabled, and should remain disabled for modules in active development. You can enable the generation of precompiled application files at the project level, or on a per-file basis. - Refactoring Support
-
Studio now participates in Eclipse's refactoring feature for StreamBase application names and CSV files. When you use → to rename a CSV file, or an
sbapporssqlapplication file, Studio detects where that resource is referenced in other parts of the current project, and automatically updates those references for you. Studio maintains a refactoring history in each project's Properties dialog. See Refactoring StreamBase Project Resources for more on this feature. - Operator Parameters Supported
-
The Properties view for adapters and operators now fully supports operator parameters in the form
${.parameter} - Copy Schemas from System Container
-
The Copy Schema dialog invoked from a Schema properties page in Studio now allows copying a schema from a stream in the system container. For example, you can copy the error stream schema, or stat stream schema.
- Comments in EventFlow Applications
-
To help you document your EventFlow applications, you can now add a description comment for each row of a schema, for the schema as a whole, and for each EventFlow application or module as a whole.
- Custom Icon Overlays
-
You can now add your own icon overlays to the icons for modules, adapters, and operators in EventFlow diagrams. See Metadata Tab for instructions.
- Clarified Messages from StreamBase Server
-
StreamBase Studio now displays a warning about an expired StreamBase license when you try to run or debug an application. In general, warnings and errors from StreamBase Server are more clearly shown: the last few lines output from a failing server process are shown in error dialogs.
- Highlight Toggle Button in Studio Help
-
StreamBase Studio inherits from Eclipse 3.3 the ability to toggle on and off the highlighting of search terms on the Studio Help pages. After you have searched for a term, look for the highlight button (
) in the toolbar
above the Studio help text window.
