NoSQL Database Documentation

We hereby welcome you into the RavenDB Documentation.
Feel free to explore the sizeable world of our premier NoSQL database.

Contribute to RavenDB documentation Become part of the community! Contribute to documentation.
5.2 5.1 5.0 4.1 4.0 3.5 3.0 2.5

What's new

4.2.115 (42076) - 2021/07/01

Server

  • [Backups] restore of compare exchange should consider compare exchange tombstones and clean them
  • [Certificates] consider all of the certificates that match pinning hash to allow the connections after replacement
  • [Cluster] fixed issue with huge Raft commands impacting stability of the cluster
  • [Cluster] fixed issue with cluster transaction processing hang when server is restarted immediately after such a transaction occurs
  • [Configuration] added 'Storage.MaxNumberOfRecyclableJournals'
  • [Indexes] added support for ThenBy and ThenByDescending
  • [Indexes] fixed possibility of a deadlock when max number of concurrent indexing processes is set
  • [Indexes] fixed index instance leak when database record change is being handled but database is being unloaded at the same time
  • [Licensing] try to activate license from environment variable or path when we fail to do it online
  • [Memory] try to reuse large segments from the memory allocator (possible memory leak when doing long operations like backups or export)
  • [Monitoring] added ability to define secondary user for SNMP v3
  • [Replication] fixed possibility of replication killing server when database is being deleted at the same time
  • [Replication] fixed possibility of replication with missing attachments went into endless loop state
  • [Replication] fixed possible endless loop caused by not handling attachment stream files properly when destination database in encrypted
  • [Replication] fixed possible NRE when Documents DeleteRevision flag was not stripped properly
  • [Queries] fixed issue with delete or patch by query timing out when a lot of document IDs needs to be gathered
  • [Voron] limiting number of recyclable journals to 32 by default
  • [Voron] fixed case where a newly created read transaction could get an already disposed pager state of a scratch file
  • [Utils] fixed issue with DisposeAsync not preventing double dispose in certain situations
  • [.NET Core] updated to .NET Core 3.1.16

Client API

  • [Bulk Insert] fixed possible hang and avoid multi-threaded access to context
  • [JSON] properly clearing internal JsonReader state to avoid hitting MaxDepth exception

Studio

  • [Migration] fixed issue with Advanced menu not opening
  • [Setup] display unsupported browser warning if needed

4.2.114 (42074) - 2021/05/24

Server

  • [Backups] fixed issue with executing Backup Retention policies on Azure
  • [Backups] allow to restore a document when collection was changed in the same incremental backup
  • [Backups] fixed possible memory leak during import when a lot of compare exchange values are being imported
  • [Debug] fixed issue with capturing stacktraces for entire cluster
  • [Debug] gixed start date of a cloned transaction in /admin/debug/txinfo endpoint
  • [Databases] fixed NRE taht could happen if database was created with Client Configuration set
  • [Indexes] release temporary files on low memory to reduce the memory pressure further
  • [Indexes] fixed a race between creating a new auto index and deleting the superseded one
  • [Indexes] fixed usage of concurrent indexes semaphore to avoid NRE
  • [Replication] fixed memory allocation when handling tombstones as a conflicts resolutions
  • [Replication] fixed NRE on refresh of document that was added in cluster transaction
  • [Voron] making sure that we will not remove currently used scratch buffer file from the list of active scratches during transaction rollback
  • [Voron] making the acquirement and usage of a pager state more robust to avoid accessing already disposed pager which could result in AVE
  • [Voron] preventing a racy access and dispose of a scrach file between the storage cleanup and creation of a new transaction
  • [Voron] fixing the case that after the import of a database we didn't flush all journals if there was no activity on a database what resulted in large number of scratch files
  • [Voron] using a correct pager state when prefetching segments
  • [.NET Core] updated to .NET Core 3.1.15

Client API

  • [Session] fixed caching when Lazy is used
  • [Session] properly incrementing number of requests when attachments and revisions are used
  • [Smuggler] fixed possibility to context leaking during Import
  • [Querying] added support for aggregation queries when raw query is used

Studio

  • [Indexes] expose index wait time on performance graph when max number of concurrent indexes is set
  • [Indexes] fixed issue with displaying tooltips on performance graph
  • [Refresh] fixed issue with updating the refresh frequency
  • [Traffic Watch] display also seconds in request time
  • [Traffic Watch] added TCP connections

4.2.113 (42073) - 2021/04/23

Server

  • [Indexes] fixed issue where index replacement, therefore index update, could cause index to become paused
  • [Indexes] fixed possible deadlock in indexing that could occur when 'Indexing.MaxNumberOfConcurrentlyRunningIndexes' is used
  • [TCP] gently closing TCP TestConnection and TCP Ping to avoid moving into CLOSE_WAIT state
  • [.NET Core] updated to 3.1.14

4.2.112 (42069) - 2021/04/13

Server

  • [Backup] Fixed the restore of tombstones from a backup
  • [Cluster] Added endpoint to remove entry from Raft log
  • [Configuration] Added Indexing.MaxNumberOfConcurrentlyRunningIndexes configuration option (default: null - no limit)
  • [Configuration] Increased dafault value for Indexing.Encrypted.TransactionSizeLimitInMb configuration option depending on the amount of available memory:
    • <= 1GB of RAM or running in 32bits - 96MB
    • <= 4GB of RAM - 128MB
    • <= 16GB of RAM - 256MB
    • <= 64GB of RAM - 512MB
    • > 64GB of RAM - 1024MB
  • [Indexing] Fixed the behavior of recreating indexing writer upon every commit
  • [Indexing] Fixed handling for ERROR_COMMITMENT_LIMIT to treat is as OutOfMemory
  • [Indexing] Reduce amount of IO needed to deal with temporary files
  • [Indexing] Added ability to limit number of concurrently running indexes to reduce the memory and IO usage (Indexing.MaxNumberOfConcurrentlyRunningIndexes)
  • [Indexing] Fixed invalid memory allocation in Lucene
  • [Querying] Better exception on invalid JS Date
  • [Querying] Ensured that query execution is stopped if a HTTP request is aborted
  • [SNMP] Exposed number of disabled, encrypted and current node databases
  • [SQL ETL] Added handling for conversion of GUID to UUID when loading records to PostgreSQL
  • [Tombstones] Added endpoints allowing to force cleanup of tombstones and check the cleanup state
  • [Voron] Fixed unhandled case in page splitting of compressed pages. This applies to map-reduce indexes and could result in "Encountered empty page which isn't a root" error.
  • [Voron] Ensured that we report an alert if an error happened during the flush of data and we recreate the backgroud task.
  • [Voron] Fixed unreleased allocations in scratch buffers which made that scratch files were never cleaned up.
  • [.NET Core] Updated to 3.1.13

Client

  • [Changes API] Fixed detection for database creation/deletion while already suscribed
  • [Session] Consider the index referenced collections on WaitForIndexesAfterSaveChanges
  • [Conventions] Added WaitForIndexesAfterSaveChangesTimeout, WaitForReplicationAfterSaveChangesTimeout and WaitForNonStaleResultsTimeout conventions (default: 15 seconds)

Embedded

  • Added support for wildcards (x) in the ServerOptions.FrameworkVersion

Studio

  • [Querying] Added id() field to the list of index terms

4.2.111 (42067) - 2021/03/01

Server

  • [Backups] fixed issue with deleting multiple blobs on Azure when retention policy is executed
  • [Backups] fixed issue with executing retention policy on Azure when remote folder name is empty
  • [Backups] fixed the ability to test credentials on server-wide backups
  • [Cluster] fixed issue with excessive topology updates from the Client API
  • [Cluster] do not move loading idle database to rehab
  • [Debug] fixed issue with retrieving thread names in Threads View for some of the threads
  • [Encryption] fixed 'unable to decrypt page' error
  • [Encryption] fixed recovery process on encrypted storage which could cause data corruption
  • [Graph API] do not return duplicate edges for Graph Visualizer
  • [Indexes] memory optimizations in Lucene
  • [Indexes] fixed race condition between removing or replacing an index and starting or stopping all of the indexes
  • [Indexes] changing additional sources should affect index etag which is used to calculate query results caching etag
  • [Indexes] expected exceptions should not generate an index error
  • [Indexes] decreased the cost of retrieving the data from index stats endpoint
  • [Monitoring] exposed SWAP usage on Windows in SNMP
  • [Monitoring] added managed memory, unmanaged memory, encryption buffers memory in use and encryption buffers memory in pool to SNMP
  • [Replication] fixed NRE that could happen if there are 2 tombstones with identical ID but different collection
  • [Replication] fixed NRE that could happen if we are deleting the database
  • [Revisions] fixed issue with creating a revision when only Resolved flag was present in deleted document
  • [Revisions] properly set flags during putting deleted revision from a cluster transaction
  • [.NET Core] updated to 3.1.12

Client API

  • [Querying] wrap next binary expression after negation in sub clauses
  • [Subscriptions] fixed ObjectDisposedException that could occur when disposing subscription worker multiple times
  • [Subscriptions] fixed JavaScript translation for Id property and Load, allow to use member init
  • [Subscriptions] do not redirect to node with failures