-
Notifications
You must be signed in to change notification settings - Fork 1k
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
chore: snapshot/tiering improvements #4661
Conversation
496256e
to
858b042
Compare
@@ -89,6 +89,20 @@ class SliceSnapshot { | |||
snapshot_fb_.JoinIfNeeded(); | |||
} | |||
|
|||
uint64_t snapshot_version() const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just moved here, no changes
{db_indx, PrimeKey(pk.ToString()), std::move(future), expire_time, mc_flags}); | ||
++type_freq_map_[RDB_TYPE_STRING]; | ||
// TODO: we loose the stickiness attribute bly cloning like this PrimeKey. | ||
SerializeExternal(db_indx, PrimeKey{pk.ToString()}, pv, expire_time, mc_flags); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code moved into SerializeExternal
27cd7f9
to
fe1b005
Compare
PrimeValue pv{entry.value.Get()}; // Might block until the future resolves. | ||
|
||
// TODO: to introduce RdbSerializer::SaveString that can accept a string value directly. | ||
serializer_->SaveEntry(entry.key, pv, entry.expire, entry.mc_flags, entry.dbid); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we had a bug with reversed mc_flags
and dbid
that is fixed here.
d20f06f
to
15558f3
Compare
Mainly comments and refactorings. There are two functional differrences: 1. flush serialized entries in case we gathered at least K delayed entries coming from tiered entities. 2. allow loading snapshots larger than memory for tiered enabled datastores. Co-authored-by: Kostas Kyrimis <kostas@dragonflydb.io> Signed-off-by: Roman Gershman <roman@dragonflydb.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Mainly comments and refactorings.
There are two functional differrences:
entries coming from tiered entities.
Also pull latest helio with some bug fixes in gcs code.
Signed-off-by: Roman Gershman roman@dragonflydb.io