Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NativeStore forceSync parameter not configurable and not consistently applied #749

Closed
abrokenjester opened this issue Feb 2, 2017 · 0 comments
Labels
🐞 bug issue is a bug
Milestone

Comments

@abrokenjester
Copy link
Member

The NativeStore has a forceSync configuration parameter which is intended to force NIO FileChannel.close being called on commit - this to ensure that all data is physically written to disk before commit completes. By default, this config parameter is disabled for performance reasons, but it should be possible for a user to enable it to ensure consistency in the event of abnormal JVM termination.

However, the parameter is not exposed in the NativeStoreConfig, not read or configured by the NativestoreConfigFactory, and not configurable via either the CLI Console or the RDF4J Workbench.

In addition, it is not consistently used and enforced in all internal sync operations in the NativeStore. Btree.sync uses the parameter, but AllocatedNodesList.sync does not.

To fix, we should make sure the parameter is user-configurable (in the Config class, the native store templates, and the Console and Workbench), and that it is consistently used for all files involved in native store disk access, upon commit.

A possible follow-up issue is re-evaluation its performance impact. The assessment that it slows things down was done when Sesame 2.0 was first released, and a lot has changed in both the native store implementation and Java NIO performance, as well.

@abrokenjester abrokenjester added the 🐞 bug issue is a bug label Feb 2, 2017
mfarre added a commit to mfarre/rdf4j that referenced this issue Oct 16, 2017
@jamesrdf jamesrdf added this to the 2.3 milestone Nov 10, 2017
hmottestad pushed a commit to heshanjse/rdf4j that referenced this issue Dec 28, 2017
Signed-off-by: Miquel Angel Farre Guiu <miquel.farre@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug issue is a bug
Projects
None yet
Development

No branches or pull requests

2 participants