Node Lifecycle Overview

Life of a Node

StreamBase Runtime nodes have a defined lifecycle with four primary states:

  • Installed

  • Started

  • Stopped

  • Removed

Installing a node

You must install a node containing your EventFlow or LiveView fragment in order to run it. If yours is the first StreamBase Runtime node installed in the current subnet, then the installation initiates StreamBase Runtime services. If other nodes are already started, your node installation joins the others in the subnet's existing Runtime fabric. As soon as a node is successfully installed, it becomes discoverable.

Starting a node

Once a node is installed, you can start the node. This starts all fragments hosted in that node; that is, the program code in each fragment starts running. StreamBase EventFlow fragments cannot accept tuples on their Input Streams until their containing node has been both installed and started. LiveView fragments cannot accept queries to their configured tables until their nodes have been installed and started.

Stopping a node

Stopping a node halts or pauses the fragments running in that node. This stops an EventFlow fragment from receiving or processing tuples, and stops a LiveView fragment from accepting queries and displaying their results. A stopped node is still discoverable in the subnet's StreamBase Runtime fabric.

Removing a node

The final stage in each node's life is to remove the node from the StreamBase Runtime fabric, which removes it from being discoverable.

Node Lifecycle by Location and Type

You can run both fragments and StreamBase Applications in Studio. When running from the command line, you are always running a fully packaged StreamBase Application.

When running in Studio, Studio does all the work of packaging the fragment or app into a node and starting it. When running on the command line, you specify all node parameters.

The node lifecycle is described for these options on the next pages:

Full Node Lifecycle

Nodes have the additional states, Killed and Quiesced, that are used primarily in development or administrative troubleshooting contexts. See Nodes in the Architecture Guide for a discussion of the full node lifecycle.