What's new

5.2.106 (52042) - 2022/10/10

Server

  • [Backup] fixed issue with OLAP ETL not being disabled when 'Disable Ongoing Task' is set during restore
  • [Backup] fixed issue with creating new server-wide backup with name identical to existing backup
  • [Backup] restore of compare exchange should not only be count-based but also size based
  • [Backup] restore of cluster transactions should not only be count-based but also size based
  • [Certificates] using EphemeralKeySet and UserKeySet as a default key set instead of MachineKeySet with MachineKeySet as a failover
  • [Configuration] added 'Databases.DeepCleanupThresholdInMin'
  • [Configuration] added 'Databases.RegularCleanupThresholdInMin'
  • [Indexes] fixed race condition when handling nested references
  • [Indexes] adjustments in index merge suggestions mechanism
  • [Memory] fixed memory leak that could happen for large allocations, especially when compression is used (e.g. Revisions). This should reduce the memory footprint needed for processing compressed documents e.g. during backup operation
  • [Monitoring] added 'AvailableMemoryForProcessing' to SNMP
  • [PAL] fixed issue with writing large transactions to journals (over 2GB)
  • [Time Series] fixed issue with start and end range being in different TZ when getting range stats
  • [Voron] fixed faulty error handling during the recovery of storage environment that could happen if recyclable journal is being used
  • [Voron] fixed issue with updating headers when partial recovery is being done
  • [Voron] fixed issue with gathering data needed to display storage report in Studio
  • [.NET] updated .NET to 6.0.9

Client API

  • [Conventions] added 'HttpPooledConnectionLifetime' and 'HttpPooledConnectionIdleTimeout' conventions
  • [HTTP] limit number of HttpClient recreations during error handling to 1 per 5 seconds
  • [HTTP] immediately recreate HttpClient after getting 'SocketError.TryAgain'
  • [Querying] fixed issue with LINQ 'As<>' not taking into account the projection used
  • [Session] fixed issue with Compare Exchange metadata not marking values as dirty so they are ignored during 'SaveChanges'

Studio

  • [Dashboard] added disk metrics to Cluster Dashboard
  • [Documents] fixed issue in collection tracker that was detecting changes in collection (an displaying 'Your data has changed' notification) despite nothing being changed
  • [Notifications] Merging 'DeleteByQuery' notifications into one to avoid flooding the notification center
  • [Traffic Watch] added average response size to stats
  • [Traffic Watch] added the ability to save to file

5.2.105 (52037) - 2022/09/01

Server

  • [Cluster] Fixed infinite leader/follower negotiation
  • [Cluster] Fixed incapability to expand database group
  • [Core] Fixed possible leak of an instance of a document database that could lead to data corruption or errors with accessing db.lock file
  • [Debug] Fixed dump creation via /admin/debug/gcdump
  • [Indexing] Support for creation of dynamic and spatial fields on arrays inside JavaScript indexes
  • [Indexing] Added a performance hint when fanout index is outputing a source document
  • [Indexing] Fixed side-by-side index duplication after server restart
  • [Indexing] Fixed handling of out of disk space errors
  • [Memory] Fixed native memory allocation when in specific case of fragmentation
  • [Querying] Fixed performance of collection query with startsWith()
  • [Setup] Allow to create a setup package for unsecured setup via Setup Wizard
  • [Subscriptions] Fixed problem with a subscription not sending over new docs after restart of responsible node
  • [.NET] updated to .NET 6.0.8

Client

  • Improved error messages in case of broken responses
  • [Session] Fixed marking document as dirty if only read operations or no-op operations were performed on metadata
  • [Session] Added ability to include counters, time series when including revisions

Studio

  • [Cluster Dashboard] Added details per database to Ongoing Tasks widget
  • [Cluster Dashboard] Added configuration option to scale disk size based on its size
  • [Ongoing tasks] Added Hub task details
  • [Traffic Watch] Added a request size
  • [Index Terms] Fixed querying on complex term objects
  • Fixed and enhancements

Tools

  • Replay traffic watch tool for queries

5.2.104 (52036) - 2022/07/18

Server

  • [Batches] WaitForIndexesAfterSaveChanges and WaitForReplicationAfterSaveChanges timeouts would return status code that could cause Client API to failover instead of failing immediately
  • [Cluster] avoid holding read transaction for a long time while processing stat changes via the cluster observer
  • [Cluster] fixed issue with handling non-existent server-wide task deletion
  • [CPU] fixed CPU usage calculation on Linux
  • [Indexes] fixed unexpected error in indexing thread which effectively was expected TaskCanceledException
  • [Indexes] fixed possibility of occurrence of infinite loop when handing a document with a lot of references
  • [JSON] prevent StackOverflowException on complex nested JSON
  • [Linux] added the ability t track disk metrics
  • [macOS] added support for macOS ARM x64
  • [Logging] added the ability to download logs via '/admin/logs/download' endpoint
  • [.NET] updated to .NET 6.0.7

Client API

  • [Session] timeout caused by WaitForIndexes could cause Client API to failover instead of throwing immediately
  • fixed issue with picking a node when operating a one node cluster and server previously failed with server unavailable

Studio

  • [Logging] added the ability o downloads logs directly from Admin Logs View
  • [Revisions] exposed flags for deleted revisions

Tools

  • [daemon] make sure that all daemon installation scripts have TasksMax set properly

5.2.103 (52032) - 2022/06/07

Server

  • [Attachments] ignoring the creation of attachment tombstone when it already exists to possible data corruption
  • [Backup] fixed possibility of desync for backup info between cluster nodes
  • [Backup] custom URL and region are now handled correctly
  • [Cluster] fixed possibility of infinite log negotiation
  • [Cluster] fixed a race when disconnected leader could commit a no-op command without having a consensus
  • [Indexes] disabled indexes are no longer considered when 'WaitForIndexesAfterSaveChanges' is used in Client API, unless explicitly specified
  • [Indexes] applying whole document boosting properly to the Lucene document instead individually to each field
  • [macOS] do not close the server when thread priority cannot be set because platform does not support it
  • [Querying] queries will failover properly when index is being compacted
  • [Querying] searching with the usage of multiple phrases must not add '+?' to Lucene query
  • [Revisions] fixed manual revision creation when revisions are enabled for all collections
  • [Replication] fixed issue where under low memory we could stop sending any documents, now we will send at least one
  • [Replication] ensure no replication from multiple nodes to node in rehab is happening
  • [Replication] fixed replication of attachments & revisions, properly handling replacement of attachment after revision config was enabled and properly handling replication of first revision after enabling revision config
  • [Subscriptions] active subscription connections should be taken into account when check database idleness
  • [.NET] Updated to 6.0.5

Client API

  • [Querying] timings are now filled correctly when using 'DocumentQuery' + 'ToQueryable' methods
  • [RQL] properly escape 'Group' field name in queries using '.GroupBy'
  • [Time Series] fixed issue with start and end date parsing when using streaming

Tools

  • [rvn] added 'init-setup-params' option
  • [rvn] added 'create-setup-package' option

5.2.102 (52029) - 2022/04/19

Server

  • [Backups] fixed issue with backups timers not being rescheduled when database fails to load
  • [Backups] fixed issue with region being ignored when using backup to S3 with custom url
  • [Cluster] fixed possible NRE in Cluster Observer causing a lot of I/O used by the Cluster Observer process
  • [Compression] fixed possibility of having duplicates in the compressed collections list after doing import
  • [ETL] fixed issue with updating ETL process state which could result in ETL looping and getting stuck
  • [ETL] fixed issue with OLAP ETL not removing all the internal states after task is deleted
  • [Indexes] fixed issue with FirstOrDefault retuning null instead of dynamic null in some cases for map-reduce indexes
  • [Indexes] fixed issue with rolling index deployments getting stuck
  • [Migration] exposed SQL PK values to the migration script
  • [Revisions] allow to delete revision bin even when revisions are disabled
  • [Time Series] fixed 'Invalid time unit None' exception during application of rollup policy
  • [Time Series] removing stats of existing time series properly to avoid issues with tombstone cleaner not cleaning everything up
  • [Voron] fixed potential deadlock when getting flushing and write transaction locks
  • [Voron] fixed potential race condition between backup and journal applicator
  • [.NET] updated to .NET 6.0.4

Client API

  • [Caching] fixed issue with Aggressive Cache not being used by Lazy operations in some cases
  • [Time Series] better exception message when using properties within structs for typed Time Series

Setup

  • Signed setup-as-service.ps1

Studio

  • [Cluster Dashboard] added Tasks panel
  • [Configuration] allow to set -1 as a value
  • [Documents] Fixed issue with Studio re-sorting properties after formatting the document which could cause JSON.NET to throw an exception because the $type property needs to be first
  • [Documents] upon refreshing document Studio will remember 'collapse' state instead of resetting the state
  • [Documents] added option to copy conflicted documents
  • [Indexes] Notify that enabling/disabling indexing required database reloading
  • [Indexes] Warn users that storing index fields should be used with caution
  • [Debug] show spinner while generating stacktraces