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

feat: Make fsSync configurable #768

Merged
merged 1 commit into from
Jan 4, 2025
Merged

feat: Make fsSync configurable #768

merged 1 commit into from
Jan 4, 2025

Conversation

novoj
Copy link
Collaborator

@novoj novoj commented Jan 4, 2025

Explicit file system synchronisation (java.io.FileDescriptor#sync) is an expensive operation that is not necessary in all scenarios. It ensures that committed data is safely written to persistent storage, but in integration testing, for example, this kind of guarantee is useless.

The measured impact of this explicit synchronisation in a test integration suite of 1400 E2E tests heavily using evitaDB resulted in 25% better performance (shorter test suite duration), which is a significant improvement. So it's a good idea to make this fsync a configurable option, enabled by default, but able to be disabled.

Refs: #767

Explicit file system synchronisation (java.io.FileDescriptor#sync) is an expensive operation that is not necessary in all scenarios. It ensures that committed data is safely written to persistent storage, but in integration testing, for example, this kind of guarantee is useless.

The measured impact of this explicit synchronisation in a test integration suite of 1400 E2E tests heavily using evitaDB resulted in 25% better performance (shorter test suite duration), which is a significant improvement. So it's a good idea to make this fsync a configurable option, enabled by default, but able to be disabled.

Refs: #767
@novoj novoj linked an issue Jan 4, 2025 that may be closed by this pull request
@novoj novoj added this to the 2025.1 milestone Jan 4, 2025
@novoj novoj added the enhancement New feature or request label Jan 4, 2025
@novoj novoj self-assigned this Jan 4, 2025
@novoj novoj merged commit df5b29f into dev Jan 4, 2025
1 of 2 checks passed
@novoj novoj deleted the 767-make-fssync-configurable branch January 4, 2025 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make fsSync configurable
1 participant