-
Notifications
You must be signed in to change notification settings - Fork 870
OrientDB 3.0 Release Notes
- 3.0.24 - 8 October 2019
- 3.0.23 - 21 August 2019
- 3.0.22 - 16 July 2019
- 3.0.21 - 18 June 2019
- 3.0.20 - 4 June 2019
- 3.0.19 - 15 May 2019
- 3.0.18 - 21 March 2019
- 3.0.17 - 7 March 2019
- 3.0.16 - 27 February 2019
- 3.0.15 - 12 February 2019
- 3.0.14 - 24 January 2019
- 3.0.13 - 2 January 2019
- 3.0.12 - 10 December 2018
- 3.0.11 - 21 November 2018
- 3.0.10 - 25 October 2018
- 3.0.9 - 15 October 2018
- 3.0.8 - 27 September 2018
- 3.0.7 - 6 September 2018
- 3.0.6 - 14 August 2018
- 3.0.5 - 2 August 2018
- 3.0.4 - 12 July 2018
- 3.0.3 - 2 July 2018
- 3.0.2 - 5 June 2018
- 3.0.1 - 18 May 2018
- 3.0.0 - 9 April 2018
- 3.0.0-RC1 - 18 December 2017
- 3.0.0-M2
- 3.0.0-M1
- Added listener unsubscribe on socket close exception
- Fixed issue with params document and dirty manager
- Avoided to lazy load record when running a toString of ridbag or linkset
- Removed no need call in lock for remote rollback
- Moved query parameters failable logic from network context to failable pre-network context
- fixed vertex and edge copy() to return the right instance for graph document types
- Fix CREATE EDGE from graph editor Issue #9008
- made sure to not load the record from the disc in case of merge of collections
- removed custom deletes from edge creation that was used to handle noTx errors, that is not needed anymore because we run everytime in tx
- Add validation of OFunction names
- Fix database import with record properties containing dots
- Server side rollback now do rollback only if there is a operation active, otherwise does nothing
- Added callback for before/after locks
- Fix creation of sequences in tx
- Fix usage of large fields (> 32k) as Lucene index keys Issue #9020
- Fixed issue on configuration with pool and storage remote creation
- Reduce synchronization contention when SQL statement and execution plan caches are disabled
- Add experimental support for field traversal in MATCH statement
- Fix NullPointerException on edge creation with null vertices
- Fixed string format type in distributed exceptions
- Fix LIKE operator with '%' pattern Fix update of newly created document using variables in a SQL batch script Issue #9000
- Minor improvement on the distributed excpetions messages
- Add custom serialization for distributed network, that validate links
- Fixed typo + name of the response node
- Fixed quorum '0' not reached
- Added listeners for tracing distributed requests
- Improve memory management in case of query abort for exceeded limit of records in ORDER BY
- Check and set record serializer before save (avoids problems saving records created before the DB was open)
- Add validation for property value types on OResult
- Add null check on edge traversal
- Removed ridbag thread local management, used session instead
- Add delayed ridbag delete for avoid concurrency issue on read
- Refactor for use methods that do not use the cache for load the tree on delete
- Add mark of ridbags to delete to make sure to no leak data on the disk
- Moved the ridbag delete in the same lock of the ridbag cache
- Log query when CREATE EDGE fails
- Add automatic TX in SQL when deleting vertices
- Fix CONTAINSANY with subqueries and edge traversal
- Fix usage of unionAll() as a plain condition in LET blocks Issue #8955
- Add distributed lock unlock in case of crash of distributed operation
- Re-enabled unlock on timeout for long pending transaction
- simplified the logic for wait for all partitions before execute a distributed operation
- Added support for -locks option for distributed lock (HA STATUS)
- Add option to ETL command transformer to return input instead of command result (
returnInput=true
) - Fix ETL loader to handle situations where actual data loading is made through SQL
- Fix ETL Link transformer to let it save the record (fixes cases where you have SQL transformers after LINK transformers)
- Support new SQL executor in ETL command transformer (with a flag,
newSqlExecutor=true
, set to false by default for backward compatibility)
IMPORTANT: This release introduces a new configuration parameter to limit the number of heap objects used for sql ORDER BY operations (ie. ORDER BY that are performed without using an index). The limit is set to 500.000 by default, but it can be changed setting 'query.maxHeapElementsAllowedPerOp' global configuration property (-1
means infinite). If the limit is exceeded, the query is aborted. It is intended as a safeguard against OutOfMemory in case of heavy queries.
- Implementation of support of minimum resource in pool size
- Fix incorrect check of magic number Issue #8932
- Fix ClassCastException from NodeJS driver Issue https://github.com/orientechnologies/orientjs/issues/377
- Fix consistency of DELETE EDGE in noTx
- Fix rename of JS functions Issue #8940
- fixed network deserializer for avoid to mark records dirty during deserialization
- Made sure to the thread local in case of pool close
- Fix reverse traversal of bothE and bothV in MATCH execution Issue #8915
- Fix usage of fulltext hash indexes in new SQL executor Issue #8693
- Fix usage of @Class in SQL projections for embedded documents
- Fix depth-frist TRAVERSE with multiple entry points
- Fix fetch from RIDs in SQL to properly set
$current
value - Fix temporary ID in CREATE VERTEX query with tx Issue #8949
- Fix automatic conversion of ridbags and removal from ridbags from SQL
- Fix PROFILE queries
- Add global configuration 'query.maxHeapElementsAllowedPerOp' to limit the number of elements allowed for ORDER BY in heap. The default value is set to 500.000, when this limit is reached the query fails.
- add checks to avoid to use distributed instances when the server is running in standalone
- fixed distributed locking issue in case of exception while transaction processing
- Add error log in case of exception during serialization on the network
- Fixed issue with token renewal
- Fixed minor push notification issue in case of distributed node disconnection
- Fix wrong logging on class creation with wrong superclass
- Minor fix in field raw search encoding
- Fix
--fix-links
on repair database Issue #8897 - Allow execution of plain SQL functions and expressions as statements in SQL scripts
- Fix FIND REFERENCES from subquery
- Updated to the last hazelcast hotfix
- Fixed NPE with Round Robin connection strategy
- Fix closing of remote TX when no operations are performed
- Fefactor of url parsing, removed old push logic not used anymore
- Fixed issue with autotx in case of lightweight edges
- Moved the logic of sending push messages on the network outside the push manager lock
- Disk cache pages are preloaded to provide efficient NUMA distribution
- Fix serialization of iterators in result sets (IMPORTANT: Iterator is no longer returned as an OResult property, it is converted to a list instead)
- re-enabled hosts avaibility update on push request also when fetch hosts is off
- Fixed edge delete with link instead of linkbag
- Added ability to exclude clusters and indexes from database comparision
- Fixed usage of the console in background
- Added javax.activation dependency for v 11 (and following) compatibility
- Fixed usage of lightweight edges settings with strict schema for regular edges
- Do not allow special characters in storage name
- Fixed STTY in console
- Fixed client side only index update Issue #8861
- Fixed fall-back to FileChannel for WAL when native IO is not available
- Implemented COMMIT RETRY ELSE {script} AND CONTINUE/FAIL in batch scripts
- Made SQL script execution consistent with named and positional params
- Fixed index usage with SELECT * plus other expressions
- Fix array selection in MATCH statements Issue #8833
- Fixed invalid close of Lucene indexes Issue #8829 Issue #8832
- Fixed usage of indexes with CONTAINSTEXT in SQL Issue #8683
- Allow usage of LET variables as target in SQL queries in batch scripts
- Enhance quorum failure logging (distributed)
- fixes for concurrent operations from multiple nodes in distributed
- make sure to retry the right number of times in all the cases, fixed timeout messages
- allocation of rid now pre allocate some rids on need and reused them because rid allocation is protected by locks
- fixed wrong retry of the second phase when was applied correctly
- Fixed JDBC connection with OrientDataSource(orientDB, dbName) Issue #8831
- Added new graph factory on TinkerPop 2.6 to use new OrientDB v 3.0 instantiation and pooling capabilities
- Forced reload of sequences and functions on remote metadata reload
- Add internal API to choose cached/not cached execution planning for SQL statements
- Fix CheckIndexTool with indexes on collections
- Add test cases for live queries on graph
- Base implementation for autoclosing storages on timeout
- Deprecated some not used anymore delete methods
- Prefetch linked edges and vertices in case of remote delete (performance)
- DocumentWrapper made serializable back again.
- Fix index creation on complex field names Issue #8761
- Fix array selection on edge traversals in SQL from REST Issue #8778
- Fix usage of positional parameters in subqueries (aggressive cache) Issue #8809
- Enable caching of DELETE VERTEX execution plan
- Fix nested MATCH path evaluations with WHERE conditions
- Enhance caching of SQL execution plans for scripts and subqueries
- Fix "missing session and token" after a period of time without interacting with OrientDB issue #8772
- Fix concurrent creation on the same cluster in distributed environment
- Centralize the management of all set online statements to avoid wrongly blocked requests
- Removed debug logging from distributed channels
- Implementation of streamed full incremental backup and made sure that delta sync use the streaming correctly
- interrupt the sync from the receiver thread in case of connection issues
- trigger reinstall in case of of network failure on synching a database
- fixed minor issue in distributed sync logic
- made sure that the database install works even in case of distributed unlock failure
- deleted the storage in case of failure of incremental sync
- Add constructor to JDBC OrientDataSource to use OrientDB instance and DB name
- review dependency tree (removed findbugs, javamail, beanshell)
- Speedup and fix of new CellBTree indexes
- Fix management of invalid RIDs (too high cluster ID) in SQL
- Fix DELETE EDGE with remote transaction
- Fix indexed queries with NULL parameters
- Made sure that for locking index keys in distributed we make a copy of them to avoid mutation
- Optimize disk cache (increased read buffer size, change of management of dirty entries)
- Fix index iterator (regression in v 3.0.14-15)
- Optimize metadata update in remote
- Fix ClassCastException on hash index
- Fix usage of indexes in SQL SELECT when value is a RID Issue #8765
- Fix NullPointerException on SQL ALTER PROPERTY Issue #8763
- Fix query execution planning with batch variables and multiple indexes (index union)
- Fix execution of scripts in distributed environment
- Refactor to make sure to allocate record ids inside lock for guarantee order
- Make sure that in case of sync request timeout the database stay offline
- Fixed issue in delta sync with record version management
- fixed issue with pool high concurrency when pool run out of resources
- Implementation of cluster based storage configuration.
- fixed locking issues on concurrent modification exception when a single node is running in quorum 1
- CHM based async. cache and WTinyLFU policy are introduced.
- fixed locking issue on high concurrent transactions on the same records
- Speed up of allocation of new cache pages
- Fix result set serialisation (null OType)
- Fix order of execution of LET statements in SQL
- Fix SELECT FROM INDEX from a subquery Issue #8745
- Add option to disable return of execution plan from REST/JSON Issue #8743
- Fix moveToClass() in legacy TinkerPop2 API
- Fix nested projections to support
*:{*}
Issue #8724 - Fix map() function to be recognised as an aggregate function from new SQL executor Issue #8714
- Fix equality of DECIMAL values in SQL (scale) Issue #8706
- Enhanced tree index performance
- Fix CSV Export Issue #8335
- Fix keys()/values() methods Issue #8705
- Fix return of multiple results in batch queries
- Fix CREATE EDGE to avoid to throw exceptions when vertices do not exist (it was like that already for TO vertices, making the behaviour consistent)
- Automatic initialisation of embedded collections on SQL UPDATE Issue #8701
- Add lazy traversal on MATCH execution Issue #
- Fix LINKSET usage in transaction Issue #8634
- Add checks to avoid wrong db drop from console Issue #8690
- Fix decoding of special characters (eg. \n \t ) in SQL strings inside JSON Issue #8681
- Fix calculation of SQL function parameters, also including context and metadata values (eg. LET values) Issue #8671
- Fix SQL CONTAINS with lists of lists Issue #8653
- Fix nested projections on INSERT RETURN statement Issue #8543
- Fix NullPointerException on JDBC getByte() and getBoolean() Issue #8677
- Fix JDBC ResultSet.wasNull() Issue #8674
- Add --disable-history to OrientDB console Issue #7890
- Fix management of "parent" property names in SQL Issue #8669
- Support parameters for INSERT with CONTENT Issue #8666
- Fix NPE on index chain calculation (query execution planning) Issue #8665
- Fix nested projections with nested star Issue #8662
- Fix CONTAINS operator on list of maps Issue #8654
- Fix UPDATE REMOVE with LINKSET and subqueries Issue #8647
- Fix insert on LINKMAP with subqueries Issue #8646
- Fix SQL GROUP BY with multiple columns that do not appear in the projections Issue #8625
- Fix general count() with no matching records in SQL Issue #8621
- Fix execution of batch scripts in console with "load script" Issue #8627
- Fix potential non-completed atomic operatios
- Fix IndexOutOfBounds on traversedElement() function Issue #8624
- Enhance MATCHES condition to allow any expression on the right Issue #8612
- Fix CONTAINS operator on lists of maps Issue #8604
- Fix .append() method to correctly manage quoted strings Issue #6250
- Fix live queries with ridbags Issue #8594
- Fix comparison with subqueries Issue #8540
- Fix usage of LET with indexes Issue #8572
- Fix NullPointerException on SQL queries with orphaned links Issue #8574
- Fix UPDATE SET on embedded maps with subqueries Issue #8583
- Fix execution planning of inner TRAVERSE statements Issue #8592
- Fix usage of "parent" as a projection name in SQL Issue #8565
- Add actual execution time to SQL query requests Issue #8579
- Fix JSON array serialization with NULL values Issue #8531
- Fix multiple edge creation in BATCH scripts Issue #8444
- Fix usage of LUCENE indexes with subqueries Issue #8521
- Fix usage of indexes with subqueries Issue #8528
- Fix ALTER PROPERTY with "name" to work also without quotes Issue #8541
- Fix SQL aggregate projections together with back-tick quoted aliases Issue #8544
- Fix nested SQL INSERT statements Issue #8555
- Fix query caching problem with nested queries Issue #8563
- Fix usage of class aliases for edge traversal Issue #8505
- Fix usage of $parent in subqueries Issue #8412
- Fix hanging OETL process Issue #8447
- Fix usage of indexes on maps by key/value
- Fix parsing of MATCH statement in console Issue #8414
- Fix parsing of SELECT/MATCH in console Issue #8430
- Fix type conversion with IN operator Issue #8428
- Fix graph traversal projections in SQL Issue #8415
- Fix INSERT with RETURN Issue #8411
- Fix UPDATE EDGE with subqueries Issue #8406
- Fix subqueries with TRAVERSE and projections Issue #8395
- Fix usage of $parent and $current in new SQL executor Issue #8383
- Fix case sensitive cluster names in queries
- Fix remote nested TX usage with old SQL executor Issue #8311
- Fix hierarchical role classes Issue #8338
- Fix count() when no records match criteria Issue #8280
- Fix lazy execution batch scripts in IF statements Issue #8305
- Fix Teleporter Importer UI Failure Issue #512
- Fixed JSON encoding issue Issue #8327
- FOREACH block in SQL scripts (experimental) details here
- WHILE block in SQL scripts (experimental) details here
- negative (NOT) patterns in MATCH statements (experimental) details here
- fix move vertex Issue #8303
- Fix startup issue on embedded server Issue #8285
- Fix CREATE INDEX with implicit class.property Issue #8268
- Fix parsing of embedded lists Issue #8277
- Fix LET block with functions Issue #8283
- Use new SQL executor in js funcitons Issue #8286
- Fix SEARCH_FIELDS() function execution in square brackets Issue #8294
- Fix any() function execution in new SQL executor Issue #8302
- Fix toJson() function in new SQL executor Issue #8304
- Fix propagation of save() Issue #8272
- Implement UPSERT EDGE Issue #4436
- Fix retrieving function metadata from Java API Issue #5779
- Fix ArrayIndexOutOfBoundsException Issue #7794
- Fix connection reopen in pool Issue #8195
- Fix tx visibility issue Issue #8224
- Fix issue with disk space management Issue #8252
- Fix batch script execution Issue #8263
- Fix usage of IN operator with unique hash index Issue #8270
- Fix detachAll for and maps Issue #8256
- Fix import in distributed mode Issue #7268
- Lucene upgraded to v 7.3
- Geospatial module merged to base Lucene module and with the main distribution. The license is now compatible with Apache 2.0
- execution plans are now cached for better performance
28 July 2017
- Added nested projections as a replacement of fetch plans
-
New search functions with runtime configuration of query analyzer and query parser behaviour - Issue #7155
-
New More like this - Issue #7408
-
Text highlight with configurable tags - Issue #5191
-
Boost on mutlifield searches cofigurable - Issue #5191
-
Laziness of indexes: when idle the indexes are closed - Issue #7555
-
EE Cross class search function - Issue #5069
- Migrated to new 3.0 API, improvement in field mapping - Issue #7347
- Distributed module is now enabled in v M2 (it was still disabled and under review in M1)
For information about what is new and what has changed in OrientDB Release 3.0-M1, please check the Release 3.0 page in the OrientDB documentation.
Copyright (C) Orient Technologies LTD - All rights reserved.