Programs with Incompatibilities

This topic discusses programs found to have issues when run on the same machine as StreamBase® or Spotfire LiveView.

Docker for Windows

Docker for Windows is well supported by StreamBase 10, and is a required part of creating and installing StreamBase applications into Docker containers, as described in EventFlow: Creating Docker Images. Docker for Windows requires a recent 64-bit Windows 10 edition.

However, Docker for Windows also requires Microsoft Hyper-V to be installed and enabled. This has two possible consequences:

  • Windows 10 enforces its rule that only one virtualization hypervisor can be installed at the same time. Thus, if you have VMware Workstation or Oracle VirtualBox installed, you must uninstall or disable those programs so that you can install Hyper-V in order to run Docker for Windows. The Docker for Windows installer disables those programs if encountered.

  • On StreamBase releases before 10.3.0, the virtual network interface (Vnet) installed by Hyper-V can potentially collide with the StreamBase Runtime as described in the next section. StreamBase releases 10.3.0 and later are not affected. On earlier StreamBase releases, you must:

    1. Disable Hyper-V's Vnet when installing and starting more than one StreamBase node.

    2. Re-enable Hyper-V's Vnet in order to generate Docker images with StreamBase Studio as described in Creating Docker Images.

    The procedure to disable a virtual network interface is found in the next section.

Windows and Virtual Network Interfaces

Several vendors offer software packages that provide a virtual machine hosting environment. These include:

  • VMware Workstation on Windows or Linux

  • VMware Fusion on Mac

  • Oracle VirtualBox on Windows, Mac, or Linux

  • Microsoft Hyper-V on Windows

The products that run on Mac or Linux hosts do not have known issues with StreamBase. However, the products running on Windows 10 are known to cause a set of related problems:

  1. Windows 10 allows only one virtualization hypervisor to be installed at the same time. That is, in order to install VirtualBox, for example, you must disable and/or uninstall VMware Workstation or Hyper-V.

  2. All virtual machine hosting environments install one or more virtual network interfaces to serve as the Ethernet adapters for installed virtual machines. However, with StreamBase releases before 10.3.0, the presence of virtual network interfaces was known to conflict with the operation of the StreamBase Runtime.

StreamBase 10.3.0 and Later

StreamBase releases starting with 10.3.0 are not affected by the collision problem between the StreamBase Runtime and virtual network interfaces.

StreamBase Releases Before 10.3.0

The presence of virtual network interfaces (Vnets) could interfere with the operation of StreamBase releases before 10.3.0 on Windows 10.

Transgressors
  • VirtualBox Vnets always interfered.

  • Hyper-V Vnets could sometimes interfere.

  • VMware Workstation Pro Vnets are not known to interfere.

Symptoms

The symptoms of a Vnet collision with the StreamBase 10 Runtime were:

  1. Installing and starting a single node with the epadmin command could be extremely slow.

  2. After installing and running more than one node at the same time, either from Studio or from the command line, nodes would quietly self-destruct one at a time, leaving no history of the failure in the logs.

Remedies

To work around symptom 1, you can use epadmin with its adminport parameter instead of its servicename parameter to identify nodes.

To work around symptom 2, you must disable the offending virtual network interface. Follow this procedure:

  1. In a command window, run netsh interface show interface. This command provides a list of installed network interfaces. The following example is from a Windows 10 machine with VirtualBox installed:

    Admin State  State       Type        Interface Name
    ------------------------------------–----------------------------
    Enabled      Connected   Dedicated   Wi-Fi
    Enabled      Connected   Dedicated   Ethernet
    Enabled      Connected   Dedicated   VirtualBox Host-Only Network
    

    Vnets installed by Hyper-V take this form:

    Enabled      Connected   Dedicated   vEthernet (Default Switch)
    

    Vnets installed by VMware Workstation Pro take this form:

    Enabled      Connected   Dedicated   VMware Network Adapter VMnet1
    Enabled      Connected   Dedicated   VMware Network Adapter VMnet8
    
  2. Once identified, run a command like the following to disable the Vnet:

    netsh interface set interface "VirtualBox Host-Only Network" disabled
    

    VirtualBox does not run correctly with its Vnet disabled, but it no longer interferes with StreamBase. To restore the Vnet, use the same command with enabled at the end.

If you can identify the Vnet's entry in the Device Manager control panel, you can also disable the Vnet there.

iPhone Tethered to Mac

An iPhone connected to a Mac can prevent the StreamBase Runtime from installing and running nodes on that Mac.

The conditions for this failure are the following:

  • The iPhone is connected to the Mac using a USB-to-Lightning cable.

  • The iOS feature named Personal Hotspot is NOT enabled on the iPhone.

Under these conditions, the Mac generates a network device port to handle the Hotspot connection, but it remains unused. A moment after an iPhone with these conditions is plugged in, the network device port created for Hotspot gets assigned an unroutable address such as 169.254.46.202.

The StreamBase Runtime then tries to use the new port, possibly because it is the newest one created, but then cannot connect to any nodes, including localhost nodes, using the unroutable address.

The solutions to restore StreamBase node connectivity are to either:

  • Enable Personal Hotspot on the iPhone (whether or not you are currently using it to tether the Mac to the Internet using the iPhone's LTE connection).

  • Unplug the iPhone.

Windows Hosts File

For StreamBase releases before 10.3.0, the presence of C:\Windows\System32\drivers\etc\hosts entries for 127.0.0.1 can cause a node start failure. Removing these entries permitted normal startup. The error displayed before removing those entries is similar to:

Unable to get java home from the node: Authentication of user [user] failed: 
Authentication from non-trusted host [hostname] by principal [user] requires a 
credential.

The error can occur when the hosts file contains an entry for 127.0.0.1 for some other hostname besides localhost — either before or in place of the localhost entry.

StreamBase releases 10.3.0 and later are unaffected.