What's new
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]
AddedIndexing.MaxNumberOfConcurrentlyRunningIndexes
configuration option (default: null - no limit)-
[Configuration]
Increased dafault value forIndexing.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 onWaitForIndexesAfterSaveChanges
[Conventions]
AddedWaitForIndexesAfterSaveChangesTimeout
,WaitForReplicationAfterSaveChangesTimeout
andWaitForNonStaleResultsTimeout
conventions (default: 15 seconds)
Embedded
- Added support for wildcards (x) in the
ServerOptions.FrameworkVersion
Studio
[Querying]
Addedid()
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
4.2.110 (42066) - 2021/02/01
Server
[Encryption]
Fixing the recovery process on storage startup which could cause overwrite of valid data and result in "Unable to decrypt page" error[Indexing]
Fixing internals in Lucene to prevent from killing the server by an unhandled exception
4.2.109 (42065) - 2021/01/25
Server
[Alerts]
Using standard deviation for Low swap size warning[Backups]
Fixing ocasionally happening problem that backups were not triggered[Backups]
Fixing error handling for backups to S3[Backups]
AddedBackup.TempPath
configuration option[Cluster]
Prevent concurrent bootstrap[Cluster]
Cluster observer will move node to rehab upon large gap from the other nodes[Cluster]
Fixing missing revisions from cluster transactions[Cluster]
Limiting cluster log truncation by time[Cluster]
Promote from rehab with indexes that were explicitly disabled[Cluster]
Stay in rehab with index error[Debug]
Adding/admin/stats
end point to Debug Package[Docker]
Updating docker base image[ETL]
Fixing IndexOutOfRangeException while iterating the ETL processes what could result in process crash[Indexing]
Fixing partitioning in Bloom Filters[Indexing]
Fixing JS map-reduce indexes when grouping by nested object[Indexing]
Adding support for complex reduce keys in JS map-reduce indexes[Indexing]
Fixing the index replacement behavior if any error happened meanwhile[Indexing]
Improving memory management in Lucene to reduce GC cost[Indexing]
FixingCreateField
returning a single result when passing the same field name[Indexing]
Increasing default value ofIndexing.Encrypted.TransactionSizeLimitInMb
configuration option to 96 MB[Linux]
Fixing SWAP detection on HDD over SSD in Posix systems when NVMe SSD drives are available[Querying]
Fixing metadata projection returning LastModified in incorrect format[Replication]
Avoiding the update of sibling etag on new connections[Replication]
Fixing the issue with change vector is not updated after replication[Replication]
Fixing issue that resolving document conflict in Studio removed the attachment[Replication]
Fixing issue with missing attachment breaking the replication[Replication]
Fixing duplicate attachments problem in conflicted documents[Replication]
Checking conflict status for attachment and deleted attachment which caused infinite loop[Replication/Smuggler]
Adding unused database Ids to import/export for preventing "conflict" in import destination cluster replication[Revisions]
Fixing issue that deleting a document with Resolved flag created a revision[Revisions]
Fixing unhandled cases of conflicts in revisions[Subscriptions]
Fixing the subscription behavior on SubscriptionDoesNotBelongToNodeException[Subscriptions]
Fixing calculation of redirect node in case of failover[Voron]
Fixing the validation of overflow pages during the storage recovery process on startup[Voron]
Fixing possible AccessViolationException in when deleting entries from fixed size trees[Voron]
Fixing NRE on attempt to get temp page from DecompressionBuffersPool[Voron]
Deleting large journals instead of adding them to recycle pool to speed up the startup time[Voron]
Adding cleanup of Temp directory on storage startup[Voron]
Fixing seeking to a record when using startAfter parameter[.NET Core]
Updated to .NET Core 3.1.11- Improved error handling in timer threads
Client API
[Changes API]
Fixing changes API interal operation so it should use the same node as the operation[Changes API]
Marking Changes API connection state as faulted if failed to initialize[Operations]
FixingWaitForCompletion
throwing InvalidOperationException forRevertRevisionsOperation
[Querying]
Adding option to project the last modified date from queries[Querying]
Fixing calculation the hash of complex objects when querying that caused query hangs[Querying]
Support TimeSpan in projections- Fixing backward compatibility of the health check endpoint
- Fixing issue when using lazy query + aggressive caching returned
Index does not exists
exception - Better exception for actions that require database but none was specified via parameter or there is no default one
- Properly detecting changes in HasChanged when we have deletes
Studio
- Server-wide backup view fix text alignment
- Adding navigation when clicking the backup alert
- Fixing hight CPU usage on the dashboard
- Auto-reconnect to web socket in Admin Logs & Traffic Watch
- When node is passive and license is not activated, stating so explicitly on the License View