Skip to content

Release 36.0.0-deepbi2

Choose a tag to compare

@github-actions github-actions released this 28 May 11:03
· 96 commits to master since this release

Fixes

Fixed a race condition in off-heap cached lookups

Lookup usage is now safer during concurrent query execution and lookup refresh.

Previously, a query could keep using a lookup cache entry while a lookup refresh had already replaced and deleted that entry from mmap-backed storage. This could make in-flight lookup queries reference disposed off-heap data.

The fix adds lookup cache retirement: old cache entries are kept alive while queries still reference them and are deleted only after those references are released.

Retained lookup extractors are used across lookup query paths, including registered lookup extraction functions, lookup dimension specs, lookup joins, and lookup segment iteration.

Configuration

Property Description Default
druid.lookup.namespace.maxRetiredCacheEntries The maximum number of retired cache versions that may be kept while still referenced by running queries. If the limit is reached, future cache refreshes may be skipped until retired entries are released or expire. 1
druid.lookup.namespace.retiredCacheEntryTimeoutMillis The amount of time after retirement before a retained cache version may be disposed, even if its retained references have not been closed yet. This prevents abandoned retained references from blocking future cache refreshes indefinitely. 900,000

Note: This release includes all fixes and improvements from previous 36.0.0-deepbiX releases.