Oak icon indicating copy to clipboard operation
Oak copied to clipboard

A Scalable Concurrent Key-Value Map for Big Data Analytics

Results 38 Oak issues
Sort by recently updated
recently updated
newest added

https://github.com/yahoo/Oak/blob/d3691702b54010ff0b67ca9b3a3190dc9b903b64/core/src/test/java/com/oath/oak/IteratorModificationTest.java#L194-L236 In line 211, the ``next()`` sometimes returns ``null`` instead of throwing a ``ConcurrentModificationException``. In the picture attached that scenario can be seen. ![image](https://user-images.githubusercontent.com/33288016/64510984-f9b44800-d2eb-11e9-8415-d7084aaf2eaa.png)

https://github.com/yahoo/Oak/blob/d3691702b54010ff0b67ca9b3a3190dc9b903b64/core/src/main/java/com/oath/oak/InternalOakMap.java#L309 https://github.com/yahoo/Oak/blob/d3691702b54010ff0b67ca9b3a3190dc9b903b64/core/src/main/java/com/oath/oak/InternalOakMap.java#L383 https://github.com/yahoo/Oak/blob/d3691702b54010ff0b67ca9b3a3190dc9b903b64/core/src/main/java/com/oath/oak/InternalOakMap.java#L421 In all the lines above, the operation on the handle may return ``false``, meaning that the value is deleted and operation should restart. In particular, in line...

As it seems a user obtains an OakWBufferImpl when calling a compute(). Before returning this buffer to the user a writelock is taken. However, OakWBuffer offers a transform() operation which...

This class is a singleton so keeps a reference to all blocks/ByteBuffers at all time so off heap memory is never released even if oak is closed and not referenced...

enhancement

If i create a new builder like this: `OakMapBuilder builder = new OakMapBuilder() .setKeySerializer(stringSer) .setValueSerializer(stringSer) .setComparator(comparator)` I get an exception: `java.lang.NullPointerException at com.oath.oak.Insert$BenchmarkState$1.calculateSize(Insert.java:75) at com.oath.oak.Insert$BenchmarkState$1.calculateSize(Insert.java:52) at com.oath.oak.InternalOakMap.(InternalOakMap.java:66) at com.oath.oak.OakMap.(OakMap.java:74) at...

Currently the iterators in Oak may return NULL (as value or entry) upon key that is concurrently deleted or not fully inserted. For example, look on class EntryTransformIterator method internalNext()....

The first Oak issue (!) 🥇 Rearranging the Oak Memory Management so it supports any Oak size and can get an external Memory Allocator. Hereby please find the new design:...