Liran Funaro

Results 10 issues of Liran Funaro

[PEP-0544][1] introduce `typing.Protocol` which allows defining an interface that can be validated on runtime. This is currently available via a non-official extension to the `typing` module called [typing-extensions][2]. Although it...

Fixes [#9967](https://github.com/apache/druid/issues/9967). ### Description This PR introduces an extension that improves Druid’s ingestion memory and CPU efficiency. It uses **60%** less memory and **50%** less CPU-time to achieve the same...

Performance
Area - Batch Ingestion
Area - Streaming Ingestion

Switching to Ubuntu docker image increases the image size from ~30MB to ~140MB. Signed-off-by: Liran Funaro

security

- Caching DB snapshot after commit to avoid creating a snapshot for each Get operation

performance

The current implementation goes over each read operation- one by one- and validates if it was already written in this block and if the read version matches the current version....

performance

Assigning explicit error type (e.g., `*ierrors.NotLeaderError`) to an interface variable (e.g. `var err error`) will result in `nil` check to return `false` even if we assign a `nil` to it....

Currently, Oak code standards are enforced by the maven code-style plugin. The code-style rules are detailed in `codestyle/checkstyle.xml`. However, these rules are currently not enforced on the tests and benchmarks....

It would be nice to allow some of the properties of BlocksPool to be configurable. Either via a configuration file and/or programmatically. 1. The block size 2. The number of...

I got the following exception when running 16 (independent) instances of Oak concurrently on 16 different threads. java.lang.NullPointerException at com.oath.oak.NativeAllocator.BlocksPool.returnBlock(BlocksPool.java:105) at com.oath.oak.NativeAllocator.OakNativeMemoryAllocator.close(OakNativeMemoryAllocator.java:215) at com.oath.oak.NovaManager.close(NovaManager.java:31) at com.oath.oak.InternalOakMap.close(InternalOakMap.java:107) at com.oath.oak.OakMap.close(OakMap.java:597) at org.apache.druid.segment.incremental.OakIncrementalIndex$OakFactsHolder.close(OakIncrementalIndex.java:537)...