What's new
5.1.8 (51027) - 2021/05/26
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[Backups]
fixed issue with editing server-wide backup tasks that could cause those tasks to hang[Databases]
before deleting a database a database path intersection is checked with other databases[Debug]
fixed issue with capturing stacktraces for entire cluster[Debug]
fixed start date of a cloned transaction in /admin/debug/txinfo endpoint[Databases]
fixed NRE that 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[Indexes]
fixed issue with usingThenBy
andThenByDescending
in indexes[Indexes]
fixed issue with usingEnumerable.Range
in indexes[Indexes]
added support forFindIndex
andFindLastIndex
methods in indexes[Indexes]
when updating NuGet package in index to a newer version no longer restart of server is required[Indexes]
support for native DLLs from NuGet[Indexes]
fixed null string concatenation behavior in indexing - now it matched C# one[Querying]
fixed possibility of sending an invalid JSON when returning facet results[Querying]
fixed possibility of NRE when projecting same document multiple times during streaming[Querying]
decreased memory usage when executingDistinct
queries[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 scratch 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]
updated to .NET 5.0.6
Client API
[Events]
addedOnSessionDisposing
event[Events]
fixed issue withOnBeforeQuery
event not being invoked when streaming[JSON]
internal enumerable converters need to take into account that a custom converter could have been supplied by the user[Session]
fixed caching when Lazy is used[Session]
properly incrementing number of requests when attachments and revisions are used[Session]
added load revisions lazily implementation[Session]
addedAddOrPatch
andAddOrIncrement
methods[Subscriptions]
fixed possibility of context leak when processing subscriptions and error has occurred[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 indexes getting unselected when progress is being updated[Indexes]
fixed issue with displaying tooltips on performance graph[IO Stats]
fixed issue with importing I/O stats from the debug package[Refresh]
fixed issue with updating the refresh frequency[Traffic Watch]
display also seconds in request time[Traffic Watch]
added TCP connections
5.1.7 (51024) - 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
5.1.6 (51023) - 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
[Configuration]
AddedHttp.AllowSynchronousIO
configuration option (default: false)[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[Indexing]
Added cluster-wide disable index[Indexing]
Reduced logging lever of errors related to using Nuget DLLs in indexes[Indexing]
Normalize new line characters when comparing additional sources[Fixed]
Fixed the issue that we skip documents without checking if we need to check forCanContinueBatch
which resulted in OutOfMemory error[Querying]
Better exception on invalid JS Date[Querying]
Ensured that query execution is stopped if a HTTP request is aborted[Querying]
Streaming on index that does not exist should throw proper exception instead of NRE[Querying]
Fixed NRE when using a search query withBoost
on term containing only quotes[SNMP]
Exposed number of disabled, encrypted and current node databases[SNMP]
Exposed GC memory info[Server]
Disabling Kestrel'sAllowSynchronousIO
and making the handling of requests fully async. AddedHttp.AllowSynchronousIO
to allow user to control it explicitly.[SQL ETL]
Added handling for conversion of GUID to UUID when loading records to PostgreSQL[Time Series]
Fixed append of an entry with DateTime.MinValue[Time Series]
Avoid throwing an exception when timeseries name isn't a string[Time Series]
Added support for quering time series with quoted name[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 5.0.5
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)[Performance]
OptimizedTryGetServerVersion
- Fixed NRE in
CachingJsonConverter
- Added Lazy version of
ConditionalLoad
IAsyncDocumentSession.StreamAsync
method forcedly castIAsyncDocumentQuery<T>
to concreateAsyncDocumentQuery<T>
class implementation
Embedded
- Added support for wildcards (x) in the
ServerOptions.FrameworkVersion
Studio
[Querying]
Addedid()
field to the list of index terms
5.1.5 (51018) - 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[Certificates]
set DisableCertificateDownloads to true when building a certificate chain[Cluster]
fixed issue with excessive topology updates from the Client API[Cluster]
do not move loading idle database to rehab[Compression]
fixed issue with compressed flag not being added when number of overflow pages is exactly the same after compression[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[Indexes]
fixed issue with disposing cached field items immediately - some of the readers could be already in use[Indexes]
when document collection does not match the specified collection in LoadDocument then null should be returned[Indexes]
index definition comparison should be newline-insensitive[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[Patching]
fixed issue with delete script not deleting all of the documents in some cases[Patching]
fixed memory leak when patching a large collection on a compressed database[Querying]
fixed possible NRE when projecting with streaming full documents[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[Replication]
properly clone replication items to avoid using memory not owned by the replication process which could result in AccessViolationException[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[Subscriptions]
fixed NRE in subscriptions when including counters that do not exist in the document[.NET]
updated to 5.0.3
Client API
[Operations]
added 'GetRevisionsOperation'[Querying]
wrap next binary expression after negation in sub clauses[Session]
fixed issue with lazily load documents not using aggressive cache properly[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
Studio
[Backup]
added 'Content-Type' header so browsers like Firefox can then recognize file name properly of exported database[Databases]
do not show document and index counts on databases that do not belong to the current node (remote)[Indexes]
fixed issue with Indexing performance view not loading correctly when cmpxchg are used in index
5.1.4 (51016) - 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[Encryption]
Fixing potential segmentation fault error on Linux on attempt to encrypt empty page that effectively was not in use[Indexing]
Fixing internals in Lucene to prevent from killing the server by an unhandled exception