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.

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:

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.