LogicBlox 4.3.2

Release Date: September 6th 2015

What's New

  • Tuning intended to improve the latency of ad-hoc queries has reduced the overhead of the meta-engine significantly (around 30%). In real workloads, this has resulted in an overall improvement of 17% in performance. The relative performance win will increase as queries get bigger and data-sets get smaller.
LogiQL Language
  • It is now possible to write e:eq_2(x,y) for equality on the entity e.
  • New arithmetic functions decimal:max and decimal:min.
  • New arithmetic function decimal:round2 rounds to the given number of decimal digits after the decimal point.

    Example 52. 

    [12.1235].round2(2) =>  12.12000
    [12.1235].round2(0) =>  12.00000
    [-12.1235].round2(3) => -12.12400
    [-12.1245].round2(3) => -12.12400 

Please refer to the LogicBlox Reference Manual for a complete overview of all the built-in predicates and their usage.

Measure Service

  • It is now possible to indirectly specify an intersection by referring to the intersection of an expression. In ProtoBuf/JSON this is done by setting the expr field of an Intersection message. In the textual format this is done by writing interof (E) where E is the expression used to compute the intersection from.
  • A new option has been added to the measure service configuration to aid in debugging. By setting query_after_fixpoint to true in the measure service configuration file (lb-measure-service.config), the measure service will also query contents of all intermediate child expressions, and if the appropriate log level is set, the result will be visible in the measure service log. This option is helpful in tracking down why a query result was empty or an update made no change.

Developer Tools

  • cloud-store improvements:
    • The -o option is now optional on download. It is inferred from the source URL if not specified.
  • Logging Enhancements:
    • lb-server perf logging now uses journald severity level debug, not notice.
    • lb-web logging is changed to log failed authentication attempts as info, not errors.
  • lb server start now creates a pid file, similar to lb services start.

Corrected Issues

The issues listed below have been corrected since the 4.3.1 release.

  • Datetime creation did not validate the supported year range of the datetime formatting function that we use, which resulted in a database that contains data that cannot be queried. We now restrict the range of years immediately on data import. Currently, the supported range is 1400 - 6771.
  • cloud-store:
    • Retriable exceptions are now logged more clearly to avoid confusion about whether the S3 operation was successful or not.
    • When uploading many files, we now the number of open file descriptors to avoid running out of the maximum allowed number.
    • Empty files are now consistently supported.

Installation and Upgrade information

Installation Instructions

Installing LogicBlox 4.3.2 is as simple as following the steps outlined below:

  1. Download the installation package.
  2. Extract the tarball in <YourPreferredInstallDirectory>
  3. Run the following command:
    source <YourPreferredInstallDirectory>/logicblox-4.3.2/etc/profile.d/logicblox.sh
    NOTE: this script will set all the necessary environment variables. You might want to add this command to your .bashrc.

Upgrade Information

  • Admission queues now must be declared in lb-web-server.config before services can be assigned to them.

Release Information

Server requirements
Operating System: 64 bit Linux; OSX 10.10+ is supported for local development.
Java Runtime Environment 7, update 11 or higher
Python 2.7 or higher
Client requirements
Applications using modeler-js User Interface Components: Google Chrome
Requirements for applications using non-modeler-js components may vary per application.