LogicBlox 4.38

Table of Contents

LogicBlox 4.38.0

LogicBlox 4.38.0

Release Date: October 8, 2021

What's New

LogicBlox 4.38.0 introduces the following enhancements:

  • Tools, Database, and Services
    • Added a new --parent option to the lb branches command. This option takes a single argument that is the name of an existing branch in a workspace. When used, the option will display all branches that were created with the specified branch as their parent.

    • Branch references in the form of "predicate@branch" can now be used in the lb print command and also for the comparePredicate command in dlbatch.

    • Improved cost estimation for auto entity retraction rules, resulting in better decisions about when to parallelize these rules which in turn leads to better performance.

    • Added moderately aggressive spilling of tombstones in the alpha trees used to store most predicate data. This can incur some overhead at the time when the spilling happens, but produces alpha trees on which queries and further updates can be performed faster.

      As part of this work, we also added a new --alpha option to the dlbatch predInfo command that will print the alpha tree structure of a predicate.

Corrected Issues

The issues listed below have been corrected since the 4.37.0 release:

  • Modeler
    • The Modeler now always shows a sheet toolbar in Fullscreen Mode regardless of Dashboard Mode being enabled or disabled for the canvas.

    • In Fullscreen Mode, the Modeler now shows a disabled button in the sheet toolbar for Configuration Mode because this mode is not available in Fullscreen Mode.

    • When the user enabled Fullscreen Mode for a sheet in Configuration Mode, the Configuration Mode will now still be activated when the user exists Fullscreen Mode. Before this fix, Configuration Mode was not preserved when existing Fullscreen Mode, causing unexpected behavior on a canvas with multiple views.

    • The use of Action Panels and Shortcut Buttons is not supported in Dashboard Mode. Dashboard Mode can no longer be enabled when such components are included in the canvas configuration.

    • Resolved an issue that occurred when rendering a sheet configured with conditional formatting based on another measure where the value of the condition was left empty.

    • In certain corner cases, it was possible to copy/paste alphanumeric text in cells that contain decimal measure data causing an internal error in the Modeler. This issue has been fixed.

  • Modeler IDE
    • The Modeler IDE now correctly preserves cell formatting configurations when updating an existing build.

  • Tools, Database, and Services
    • Stopped propagation of some errors in lb-web loggers to prevent duplicate logging of errors.

    • Improved the lb-web logging that occurs if a client closes its connection to lb-web before lb-web has a chance to respond (during initialization for example). In the past, a long and mostly confusing stack trace was dumped into the log, along with potentially interleaved error messages with details about the request. Now there is no stack trace and just a single error message with information about the request that could not be responded to.

    • Fixed a bug in the evaluation procedure for general recursive programs that would incorrectly make the fixpoint computation diverge instead of converging to a certain solution. This bug seems to only affect certain programs that employ negation/aggregation through recursion. The resolution of this bug comes with significant performance improvements for all recursive programs.

Known Issues

The issues listed below are known to exist in the 4.38.0 release.

  • Tools, Database, and Services
    • This release contains changes to some lb-workflow tasks related to workbook creation. These fixes have not been applied yet to lb.wb.CreateWorkbook, which means errors related to recent changes in the LB runtime that imposes restrictions on string lengths can still occur. Please note that this known issue does apply to lb.wb.util.CreateWorkbook.

  • Notice for macOS 10.15 Catalina users
    • LogicBlox builds are not signed with an Apple developer certificate. This may result in error messages stating that LogicBlox originates from an "unidentified developer". To ensure the LogicBlox services will run on your system, apply the following command on the distribution tarball you downloaded from this website:

      $ xattr -d com.apple.quarantine logicblox-osx-<VERSION>.tar.gz

      Additionally, LogicBlox services will not function correctly when using a signed/notarized Java Runtime Environment. For instance, AdoptOpenJDK version 11.0.6 is the latest version that works with LogicBlox without causing signing issues.

      For more information about running apps from an unidentified developer, see Apple's macOS User Guide.

Installation Information

Install LogicBlox 4.38.0 by following the steps outlined below:

  1. Download the LogicBlox installation package for Linux or macOS from the LogicBlox developer website.
  2. Extract the tarball into a directory, which we refer to as <LOGICBLOX_HOME>.
  3. Run the following commands:
    source <LOGICBLOX_HOME>/etc/profile.d/logicblox.sh
    source <LOGICBLOX_HOME>/etc/bash_completion.d/logicblox.sh
    NOTE: these scripts automatically set all the necessary environment variables (please be aware that this script only works if you use bash as your shell). You might want to add these commands to your .bashrc.

Upgrade Information

  • Modeler
    • The library containing the Modeler migration tool is included in the distribution under <LOGICBLOX_HOME>/lib/npm/modeler-migrations-<VERSION>.tgz and contains a command line tool for doing various transformations/migrations of modeler configurations.

      To use the npm module, you first need to install it by running npm install --no-save <LOGICBLOX_HOME>/lib/npm/modeler-migrations-<VERSION>.tgz. You will then be able to use the command line tool. The module contains a README.md file that lists all available transformations as well as detailed instructions for use.

      To automatically upgrade a Modeler application from one version to another, run the upgrade script to upgrade between versions:

      ./node_modules/.bin/migrate-modeler --fromVersion <prevVer> --toVersion <toVer> /path/to/my/modelerapp

      where the version numbers refer to LogicBlox releases (e.g. 4.38.0).

      NOTE: If you installed the npm module globally, you won't need the ./node_modules/.bin prefix on the command.

Release Information

  • Server requirements
    • Operating System: 64-bit Linux; Apple macOS 10.10+ is supported for local development
    • Java Runtime Environment 11
    • Python 3.5 or higher
  • Client requirements
    • Applications using LogicBlox Modeler: Modeler supports major browsers not older than 1 year. Google Chrome provides the best performance.
    • Requirements for applications using non-LogicBlox Modeler components may vary per application.