Artur Melanchyk

Results 8 issues of Artur Melanchyk

**What happened** In response to a `VerifiableGet` request I received gRPC error `"key not found"` and it's code was set to 2, which stands for `Unknown` **What you expected to...

bug

### What's being changed: Removing `sync.Mutex` lock and avoiding unneeded memory allocations in BM25Searcher::wand(). Existing implementation of the `for` loop implies (worst case): - `Lock()`/`Unlock()` invocations = `len(Tokenizations) x len(queryTerms)`...

### What's being changed: Removing `sync.Mutex` protecting the `DB::ratePerSecond` in favour of `atomic.Int64` ### Review checklist - [ ] Documentation has been updated, if necessary. Link to changed documentation: -...

Using atomic is lock-free and in this specific case roughly ~50% faster than using mutex

This change minimizes lock contention when working with `instrumentedRWMutex` According to the attached benchmark `Lock` \ `Unlock` operations as well as `RLock` \ `RUnlock` gain ~50% performance boost while `State`'s...

- validate input params before obtaining mutex lock - replace sync.Mutex with sync.RWMutex

### Description ### Testing & Reproduction steps ### Links ### PR Checklist * [ ] updated test coverage * [ ] external facing docs updated * [ ] appropriate backport...

meta/stale

### Description ### Testing & Reproduction steps ### Links ### PR Checklist * [ ] updated test coverage * [ ] external facing docs updated * [ ] appropriate backport...