Skip to content

OrientDB 3.1 Release Notes

Luigi Dell'Aquila edited this page Oct 20, 2020 · 29 revisions

Table of Contents

  • 3.1.4 - 21 October 2020
  • 3.1.3 - 30 September 2020
  • 3.1.2 - 20 August 2020
  • 3.1.1 - 8 July 2020
  • 3.1.0 - 1 June 2020
  • 3.1.0-beta1 - 25 october 2019

3.1.4 - 21 October 2020

Changes

Core

  • DirectIO support was removed because of stability issues
  • Missed ridbag containers are created on storage open
  • Re-try in backup if atomic moves are not supported. Empty backup directory is created
  • Handled the case when the locale is not defined in the database
  • Fix index iterations in TX with both create and delete of the same element. Resolves Issue #9402
  • Disc deserialization do not mark dirty collections anymore
  • Errors during cluster truncation are not re-thrown
  • Server memory usage limit was removed
  • Startup metadata are moved without atomic move if such option is not supported
  • If Bonsai tree already deleted we do not try to delete it again

TinkerPop 2.6

  • Fix backward compatibility issue with custom TinkerPop predicates

3.1.3 - 30 September 2020

Changes

Core

  • Use SequenceOrderType.ORDER_POSITIVE as default for sequence order type
  • Events in WAL are fired only once
  • Fix NPE during acquiring of component lock
  • Stop accepting new requests if limit of memory consumption is reached Issue #9387
  • Prevention of deletion of WAL segment if data is not written in that segment yet
  • Fix security context creation to avoid race conditions (deadlock)
  • StorageStartupMetadata made durable. During backup of database in distributed storage all file operations are checked on success and DB move made atomic.

SQL

  • Fix usage of composite indexes with index chains
  • Fix usage of indexes with subqueries (colleciton results)
  • Fix NPE on count() on non existing class
  • Fix shortestPath() with multiple edge types Issue #9388

Distributed

  • make sure to return valid value on distributed status even if no value present
  • update to Hazelcast 3.12.8
  • avoided to run database sync from message executor
  • serialized rid allocation execution for distributed
  • reduced length of locking of whole cluster for insert to only messages executions
  • add check for ridbag missing in delta deserialization

3.1.2 - 20 August 2020

Changes

Core

  • moved storage replace in session on background to avoid deadlocks
  • Fixed NPE when trying to update a vertex that has an rid bag
  • Ensure that file writes are finished on close
  • Parameter to setup value of minimal compressed record size for WAL was introduced
  • Infinite loop in case of restore was fixed
  • Index check was removed from database check
  • fixed timer creation in remote context
  • managed correctly storage frozen status from transactions and sync
  • Incremental backup does not introduce GC overhead
  • Fix console output on CREATE INDEX
  • add validation for embedded collections when creating properties in the schema
  • Fix csv export (http) to also use schema to infer columns
  • Improve logging of errors related to exceeded packet size (remote binary)
  • Tracking of labels without vertex classes was disabled
  • re-introduced record not found instead illegal argument in case of cluster not there

SQL

  • Improve management of TIMEOUT in SQL for aggregations and ORDER BY
  • Fix regression on SQL range queries with indexes

Distributed

  • add reentrant logic to distributed lock hazelcast implementation
  • first definition of the new executor for distributed requests
  • passed list of rids from first phase to the second phase to make sure to follow the same locking logic
  • fixed distributed executor thread factory
  • handled the case of rejectd execution in distributed executor
  • changed the database drop to not wait for the distributed executor shutdown
  • add unique index keys to tx phase 1
  • add some buffering in the distributed executor queue
  • add tracking of transactions pending in the distributed executor queue
  • add unique keys for execution scheduling in distributed second phase
  • add transaction id partition as locking key for schedule operation sequential
  • add check for transaction already included in the database due to synch appening while the transaction is active
  • add check for avoid to apply second phases if the state already contains the transactions
  • changed first phase to return invalid sequential in case of already present transaction id
  • add coordinator scheduler locking for distributed tx
  • add reset to temporary id for created record in transaction, in case of retry for concurrent create
  • add context registration for already present transaction to avoid trigger sync
  • removed wait in execution of distributed tasks that was not needed and could cause deadlocks
  • fixed wrong cluster drop logic in distributed implementation

3.1.1 - 8 July 2020

Changes

Core

  • Fix concurrency issues with security cache
  • Fix IMPORT from 3.0.x to 3.1.x
  • Fix race usage of unique field in tx issue #9281
  • Fix import so that only records which exist in database before import are over written.
  • Broken files are detected in DWL during restore
  • Out of bounds error was fixed in DWL
  • Fix detection of memory cgroups
  • Performance statistic monitoring was removed because were not completed and out of date Issue #9169
  • Add implementation for automatic close for idle sockets
  • remove use of ODocumentSerializable from global properties
  • fixed wrong usage of mutable schema in place where immutable is available
  • Fix binary version of config properties
  • Fix StringIndexOutOfBoundsException
  • Fix data flush in background and system stuck
  • Fix usage of ZFS
  • In cache entries atomic fields replaced by atomic field updaters
  • fixed global config dump issue introduced in 3.1

SQL

  • Fix usage of $matched in MATCH statements
  • Fix count(*) with LIMIT
  • Added interval() function
  • Improve TIMEOUT on SELECT

Lucene

  • Fixed NPE when passing any "bad value" to spatial funcitons

Distributed

  • add configuration for disable automatic creation of cluster when new node joins

3.1.0 - 1 June 2020

Official 3.1 release, see What's New

3.1.0-beta1 - 25 october 2019

New features

Predicate Security

  • predicate-based record-level security
  • predicate-based property-level security

http://orientdb.com/docs/3.1.x/security/Database-Security.html#predicate-security

3.1.0-M3 - 2 July 2019

New features

Enhanced db encryption

3.1.0-M2 - 5 October 2018

New features

Materialized Views

Pessimistic Locking

Enhanced Sequences

Clone this wiki locally