You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For key data, we don't have a solution. We use a transient buffer for decoding delta-encoded keys and there's currently no way for us to pin that transient buffer.
For value data, it looks like we do pin it when pin_data is set. I can update the wiki accordingly.
Summary:
`ReadOptions::pin_data` already has the effect of pinning the `Slice` returned by `Iterator::value()` when the value is stored inline (e.g., `kTypeValue`). This PR adds a bit of visibility into that via a new `Iterator` property, "rocksdb.iterator.is-value-pinned", as well as some documentation and tests.
See also: #12658
Pull Request resolved: #12659
Reviewed By: cbi42
Differential Revision: D57391200
Pulled By: ajkr
fbshipit-source-id: 0caa8db27ca1aba86ee2addc3dfd6f0e003d32e2
https://github.com/facebook/rocksdb/wiki/Reducing-memcpy-overhead-when-using-Iterators
says pin_data rely on table_options.use_delta_encoding = false
we already have a workload with table_options.use_delta_encoding = true
is there any solution to pin data before iterator destroy
The text was updated successfully, but these errors were encountered: