apple / apple/foundationdb

No Java control over target_byte_sizes causes potential inefficiencies

Open
#4,413 0 comments 0 reactions 1 assignee Claimed by @vishesh View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

The current Java API does not allow the caller to control the target_byte limits; Instead, target bytes is always set to 0 in the java driver, which causes the C driver to apply its own logic.

Further, even if that weren't set, the C driver overrides sizes specified externally using a `std::min`, preventing larger buffer sizes from being chosen by the client even with extra knowledge.

The net result of this is that extra getRange() calls may be necessary, which can lead to significant performance problems.

The target bytes strategies should be exposed in the Java layer

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.