The Problem
IOR "read after write" performance with the POSIX adapter will be poor. The IOR flow for "read after write" is
open
write
close
open
read
close
The result of the first close will be that the file's Bucket and Blobs are destroyed, so when the read arrives, Hermes will have to retrieve the data from disk again.
Solution
Using the native API, this is easily solved by calling Bucket::Close instead of Bucket::Destroy. I guess I need to implement a way to pass a hint to Hermes from the adapters to close instead of destroy.
The Problem
IOR "read after write" performance with the POSIX adapter will be poor. The IOR flow for "read after write" is
The result of the first
closewill be that the file'sBucketandBlobs are destroyed, so when thereadarrives, Hermes will have to retrieve the data from disk again.Solution
Using the native API, this is easily solved by calling
Bucket::Closeinstead ofBucket::Destroy. I guess I need to implement a way to pass a hint to Hermes from the adapters to close instead of destroy.