Artur Melanchyk

Results 12 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...

### What does this PR do? Addresses data race in Ping handler. When context gets done then context goroutine will write `terminated` property and at the same time main goroutine...

status/2-needs-review
area/api
kind/bug/fix
size/S

### What does this PR do? In Go, time.Ticker objects were not garbage-collected before Go 1.23 — even if you lost all references to them. You had to explicitly call...

kind/enhancement
status/2-needs-review
area/provider/docker
area/acme
size/S