Releases: valeriansaliou/sonic
Releases · valeriansaliou/sonic
Sonic v1.2.0
- Fixed a rare deadlock occuring when 3 concurrent operations get executed on different threads for the same collection, in the following timely order:
PUSH
thenFLUSHB
thenPUSH
[@valeriansaliou, d96546b]. - Reworked the KV store manager to perform periodic memory flushes to disk, thus reducing startup time [@valeriansaliou, 6713488].
- Stop accepting Sonic Channel commands when shutting down Sonic [@valeriansaliou, #131].
- Introduced a server statistics
INFO
command to Sonic Channel [@valeriansaliou, #70]. - Added the ability to disable the lexer for a command with the command modifier
LANG(none)
[@valeriansaliou, #108]. - Added a backup and restore system for both KV and FST stores, which can be triggered over Sonic Channel with
TRIGGER backup
andTRIGGER restore
[@valeriansaliou, #5]. - Added the ability to disable KV store WAL (Write-Ahead Log) with the
write_ahead_log
option, which helps limit write wear on heavily loaded SSD-backed servers [@valeriansaliou, #130].
Sonic v1.1.9
- RocksDB has been bumped to
v5.18.3
, which fixes a dead-lock occuring in RocksDB at scale when a compaction task is ran under heavy disk writes (ie. disk flushes). This dead-lock was causing Sonic to stop responding to any command issued for the frozen collection. This dead-lock was due to a bug in RocksDB internals (not originating from Sonic itself) [@baptistejamin, 19c4a10]. - Reworked the
FLUSHB
command internals, which now use the atomicdelete_range()
operation provided by RocksDBv5.18
[@valeriansaliou, 660f8b7]. - Added the
LANG(<locale>)
command modifier forQUERY
andPUSH
, that lets a Sonic Channel client force a text locale (instead of letting the lexer system guess the text language) [@valeriansaliou, #75]. - The FST word lookup system, used by the
SUGGEST
command, now support all scripts via a restricted Unicode range forward scan [@valeriansaliou, #64].
Sonic v1.1.8
- A store acquire lock has been added to prevent 2 concurrent threads from opening the same collection at the same time [@valeriansaliou, 2628077].
Sonic v1.1.7
- A superfluous mutex was removed from KV and FST store managers, in an attempt to solve a rare dead-lock occurring on high-traffic Sonic setups in the KV store [@valeriansaliou, 60566d2].
Sonic v1.1.6
- Reverted changes made in
v1.1.5
regarding the open filesrlimit
, as this can be set from outside Sonic [@valeriansaliou, f6400c6]. - Added Chinese Traditional stopwords [@dsewnr, #87].
- Improved the way database locking is handled when calling a pool janitor; this prevents potential dead-locks under high load [@valeriansaliou, fa78372].
Sonic v1.1.5
- Added the
server.limit_open_files
configuration variable to allow configuringrlimit
[@valeriansaliou].
Sonic v1.1.4
- Automatically adjust
rlimit
for the process to the hard limit allowed by the system (allows opening more FSTs in parallel) [@valeriansaliou]. - Added Kannada stopwords [@dileepbapat].
- The Docker image is now much lighter [@codeflows].
Sonic v1.1.3
- Rework Sonic Channel buffer management using a VecDeque (Sonic should now work better in harsh network environments) [@valeriansaliou, 1c2b9c8].
- Limit the size of words that can hit against the FST graph, as the FST gets slower for long words [@valeriansaliou, #81].
Sonic v1.1.2
- FST graph consolidation locking strategy has been improved even further, based on issues with the previous rework we have noticed at scale in production (now, consolidation locking is done at a lower-priority relative to actual queries and pushes to the index) [@valeriansaliou, #68].
Sonic v1.1.1
- FST graph consolidation locking strategy has been reworked as to allow queries to be executed lock-free when the FST consolidate task takes a lot of time (previously, queries were being deferred due to an ongoing FST consolidate task) [@valeriansaliou, #68].
- Removed special license clause introduced in
v1.0.2
, Sonic is fullMPL 2.0
now. [@valeriansaliou]