LogicBlox 4.1.6

Release Date: January 6th 2015

What's New

OSX Support

We are pleased to offer the first OSX distribution of LogicBlox! Apple users are no longer required to work in a Linux virtual machine. As this is the first public release for OSX, we expect that there are some rough edges. We hope you will help us improve our OSX support by reporting issues that you encounter.

Database

  • The usability of aborting transactions that are being executed within the lb-server has been improved.

    Example 7. 

    The database server assigns transactions an ID once they are received. The ID of transactions executing in workspace ws can be obtained via the following command:

    lb status ws --active

    Subsequently, transactions can be aborted by issuing the command:

    lb aborttransaction ws <ID>

    Aborted requests are now signaled back to the client as soon as they are aborted and aborting transactions that have only been queued has been made possible. Furthermore, a status message is returned when trying to abort a transaction that is not found on the server.

    The transaction abort feature also allows lb-web to support end-to-end aborts. When lb-web clients close the HTTP connection while a transaction is running, lb-web will attempt to abort the transaction.

  • Write transactions to different branches of a workspace are now executed in parallel. Consequently, a long-running write transaction in branch branch1 will not block a concurrently issued write-transaction for branch branch2 of the same workspace. Write-transactions across different workspaces are already executed in parallel.

    Note

    Note that write-transactions for the same branch of a workspace are still serialized.

Performance

  • The performance of incremental view maintenance (in particular, the construction and use of sensitivity indexes) has been tuned, leading to improved performance both for initial evaluation and for incremental maintenance of workspace-lifetime IDB rules. This also causes the performance of IDB rules to be more robust, reducing the need for manual tuning.
  • Auto-retraction of facts has been improved, leading to observable performance differences on full and incremental data loads into schemas that use entities.
  • Measure Service related performance optimizations:
    • Optimized request processing to not block on requests that do not generate logic.
    • Improved reuse of disjunctive views used in aggregations.
    • No-op aggregations (aggregating to the same level) are now optimized away.
  • The TDX code generator now avoids generating intermediate predicates for PUT requests, resulting in noticeable speedups in our benchmarks.

Measure Service

  • Added support for literal updates with entities in the value column using entity refmodes.

Services Framework

  • TDX specifications now supports human-readable descriptions for columns. These descriptions are available for clients to query in the meta-service.
  • The TDX import error reports have been improved. The CAUSE field now contains additional information about the relevant columns in the row that contains an issue, which makes it more suitable for human consumption.
  • Improved consistency of timestamp format of logs across components. lb-web server and client use the same ISO-8601 variant as lb-server, which includes the timezone offset. By default, the current host timezone is used, but this behavior can be changed via configuration files.

Developer Tools

  • A separate system administration manual is now available. It comprises newly written content, as well as content separated from the existing reference manual that is more relevant to administrators than developers. We plan to add more content incrementally and welcome your suggestions on information that should be added. Please refer to the Administration Guide for mode details.
  • The lb services command and the status commands of individual services have been improved to more accurately report information.

    Example 8. 

    For example, lb server status now reports a connection refused error instead of jumping to the conclusion that the lb-server process is indeed not running.

    The lb services command has been enhanced in similar ways. For example, when reporting an error that services are still running, it clarifies that these are running according to the status check. When listing processes, the command reports how it identified those processes.

    Note

    Please note that we do not recommend using lb services in a production setting. It is intended as a convenient cross-platform tool for developers. The new administration manual provides examples for how to configure systemd or upstart service managers for LogicBlox.

Installation and Upgrade information

Installation Instructions

Installing LogicBlox 4.1.6 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.1.6/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

The structure of the distributions has changed compared to earlier versions. We have worked on integrating the various components of the LogicBlox system better and have a more standard directory structure. Users should not experience issues with this re-organization if they setup their environment using the recommended etc/profile.d/logicblox.sh script. Users that separately re-define environment variables for components might have issues and need to remove those assignments.

Release Information

Table 4. 

Server requirements
Operating System: 64 bit Linux or Mac OSX 10.9 or higher
Java Runtime Environment 1.7, update 11 or higher
Python 2.7 or higher