LogicBlox 4.41

Table of Contents

LogicBlox 4.41.0

LogicBlox 4.41.0

Release Date: April 14, 2022

What's New

LogicBlox 4.41.0 introduces the following enhancements:

  • Tools, Database, and Services
    • Improved performance for some rules where a large set of changes is being applied to a predicate.

    • Enable concurrent evaluation of some recursive rules that were previously serialized, significantly improving performance in some cases.

    • In the linear recursion P2P, the first and next predicates must now be functional and single-valued. The use of other forms of these predicates has been deprecated for a long time and is now not supported.

    • The evaluation procedure of recursive rules involving recursive default-valued predicates has been slightly tweaked to make it faithful to the semantics of stratified staged partial fixpoint logics, which the intended behavior of recursive rules in LogicBlox. This will result is slightly more consistent behavior of recursive rules in some situations.

    • Made the set of built-in LogiQL conversion functions complete and the names more consistent. For example, datetime:datetime:convert was missing.

Corrected Issues

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

  • Tools, Database, and Services
    • Improve detection of inconsistent rules that use inequalities, preventing some potentially incorrect optimization rewrites.

    • Fixed a bug whereby declaring the property lang:fullEval on a recursive predicate would not disable the creation of sensitivity indices during evaluation of the rules whose bodies mentioned the said predicate. This will improve the evaluation performance of such rules.

    • Fixed a segmentation fault that could happen during evaluation of predict P2P rules.

    • We now produce sensible diagnostics instead of a stack trace when the name of a primitive type (i.e. int) is used as the name of an application predicate.

    • We will now produce a sensible message instead of a stack trace when the dlbatch comparePredicate mentions a predicate that does not exist.

Known Issues

The issues listed below are known to exist in the 4.41.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 users of macOS 10.15 and newer
    • 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 or Amazon Corretto 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.41.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
    • There are no modeler changes in this release, so no update steps required.

Release Information

  • Server requirements
    • Operating System: 64-bit Linux; Apple macOS 10.10+ is supported for local development
    • Java Runtime Environment 11
    • LogicBlox has been tested with Python 3.5 through 3.8.10. Other Python 3 releases may or may not work reliably.
  • 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.