On Thu, 10 Aug 2023 15:45:12 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

> When backporting [JDK-8312127](https://bugs.openjdk.org/browse/JDK-8312127), 
> I realized there are no targeted tests for `FileDescriptor.sync` that can be 
> used to qualify the changes in that area. 
> 
> Additionally, we use `FD.sync` for durability in Java databases, and we want 
> to make sure at least some smoke tests are available in OpenJDK. Asserting 
> durability would be hard, but let's at least test the Java code does not 
> throw unexpected exceptions and native code does not crash the VM.
> 
> The benchmark will show, among other things, that the recent change to 
> `FileDescriptor.sync` does not affect the performance much, compared to the 
> cost of the `fsync` itself. It deliberately targets tmpfs to provide the 
> lowest actual FS overhead.
> 
> 
> Benchmark                Mode  Cnt    Score   Error  Units
> 
> # Before JDK-8312127
> FileDescriptorSync.sync  avgt   15  351,688 ? 2,477  ns/op
> 
> # After JDK-8312127
> FileDescriptorSync.sync  avgt   15  353,331 ? 2,116  ns/op
> 
> 
> The new regression test completes in <0.5s on my Mac.

This pull request has now been integrated.

Changeset: 2e8a0ab2
Author:    Aleksey Shipilev <sh...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/2e8a0ab27227b2e06e2ece3776f66ff0932ef353
Stats:     165 lines in 2 files changed: 165 ins; 0 del; 0 mod

8314120: Add tests for FileDescriptor.sync

Reviewed-by: alanb, bpb

-------------

PR: https://git.openjdk.org/jdk/pull/15231

Reply via email to