New features and significant bug-fixes/updates for the last few releases are recorded here. Full version numbers are given as:
e.g. 5.3.5928 where the major number is 5, the minor number is 3 and the build number is 5928. Releases with the same major and minor version numbers do not contain any new features, the only difference is that releases with later build numbers contain fixes for bugs discovered since the previous release. New or significantly changed features are released with a higher major or minor version number.
GraphDB 6.0 is a re-branded Owlim 5.6 version. The differences are given to the last stable Owlim 5.4 release.
- High Availability Cluster
- Faster writes in SAFE Mode (OWLIM 5.5 improvement which lead to incompatible binary formats between 5.4 and 5.5+)
- LoadRDF tool for faster bulk loading of data; speeds ~100KSt/s and above, without inference
- Explain Plan like functionality
- LVM-based Backup and Replication
- Databases created with one entity-id-size (32 vs 40-bit) and opened with another would crash in versions prior to 6.0. Now and exception is thrown
- [OWLIM56:LVM-based Backup and Replication] - Backup can optionally be based on the LVM Shadow Volume Copy - which makes it faster and the worker is released a few seconds, after the backup is started (ported from 5.4).
- [OWLIM56:New Cluster Test (cluster deployment and test tool)] - a tool for automated deployment and testing of clusters of various sizes. Can deploy on AWS and local instances. Supports docker format. Allows for the running of acceptance, stress and load tests on the deployed clusters. Optionally creates Nagios configuration for the deployed cluster
- LoadRDF tool - a tool for faster bulk loading of data has been merged from 5.5 branch
- Merged EntityPool Reverse Cache from 5.5 - will speedup larger updates (100+ statements)
- All AcceptanceTests that were previosly failing are now fixed
- Improved communication between master and worker nodes with respect to the above tests
- Worker thread: fixed out-of-sync handling upon init
- Improved logging and in particular fixed the skip of some stacktraces by the JVM
- Initialization of 5.6 worker from 5.4 image now skip "entityIdSize" and InferencerCRC from owlim.properties
- cluster - empty worker initialization
- worker - initial update handling
- log sync: 10s wait between idle rounds (network bandwidth optimization)
- Tx log: initialization bug fixed
- update might fail when replication is in progress
- misc bug fixes in the cluster utils (deployment/status) and proxies restart
- detailed logging:
- replication cluster worker events
- HTTP client stats
- Tx log initialization
- AcceptanceTests failing: W4, M4, MW3, MW7, MW8
- the new/experimental LVM backup/restore feature is not yet ported from 5.4 (and thus MW10 and MW11 Acceptance Tests are not implemented, because they are based on it)
- updated AcceptanceTests in the MastersAndWorkers section
- replication start/wait methods improved
- several fixes to the TxLog protocol
- fixed replication logic to delete the Worker repo, only when the remote worker confirms the replication
- additional sanity checks added to the Master-to-Master and Master-to-Worker synchronization
- improved logging, incl. "SPLITBRAIN" events logged both to logs and to JMX
- some MW* tests with the forced replication fail randomly but rarely - related to the Proxy tool
Ontotext redesigned its cluster architecture to support the case of two or more separate data centres (each with its own Master and Worker nodes) and to provide asynchronous transactions and Master failover. OWLIM Enterprise already supported Master-Worker clusters with Automatic Replication, Load Balancing and Transaction Logs, but in this release these components were improved. Owlim 5.6 is based on 5.5 and inherits its write performance improvements.
- IMPROVEMENT: [OWLIM56:Client Failover Utility] which can be configured to fallback to the next master if the first master becomes unavailable
- IMPROVEMENT: Better TransactionLog support (see: [OWLIM56:Transaction Log Improvements]) - the updates are synchronized between all masters in all data centers
- IMPROVEMENT: All Masters are now Read/Write
- IMPROVEMENT: [OWLIM56:Smart Replication]
- IMPROVEMENT: Protocol backward compatibility - the ability to upgrade the OWLIM cluster without downtime, following the OWLIM Upgrade Procedure.
- IMPROVEMENT: [OWLIM56:External Plug-ins] - the plugins in OWLIM are moved into a separate plugin directory, and now could be upgraded/maintained separately.
- CONCERN: Transaction consistency concern. In the new cluster, the Master responds to an update from a client as soon as the test node completes it.
In a single threaded scenario the next query could be evaluated on a node that still has either not received it or not completed it which could lead to inconsistency from the client point of view. This deviates from update processing in 5.4 where the response is created after last of the available nodes complete it[OWLIM-1483]