-
Notifications
You must be signed in to change notification settings - Fork 9
#2428 Checkpoint using latest Magistrate trait-based API #2429
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
base: develop
Are you sure you want to change the base?
#2428 Checkpoint using latest Magistrate trait-based API #2429
Conversation
|
diff --git a/src/vt/vrt/proxy/collection_elm_proxy.impl.h b/src/vt/vrt/proxy/collection_elm_proxy.impl.h
index b0608db72..586ecd72b 100644
--- a/src/vt/vrt/proxy/collection_elm_proxy.impl.h
+++ b/src/vt/vrt/proxy/collection_elm_proxy.impl.h
@@ -106,8 +106,8 @@ void VrtElmProxy<ColT, IndexT>::serialize(SerT& s) {
//then immediately deserialize
using listener::ElementEventEnum;
listener::ListenFnType<IndexT> m_listener =
- [*this, buf, listener_id]
- (ElementEventEnum event, IndexT idx, NodeType) mutable {
+ [*this, buf,
+ listener_id](ElementEventEnum event, IndexT idx, NodeType) mutable {
if (!(idx == getIndex()))
return;
if (event != ElementEventEnum::ElementMigratedIn)
|
038d3f1 to
7eb4863
Compare
7eb4863 to
0af1389
Compare
0af1389 to
4176e68
Compare
| //We need a traitless serializer, since StoreElmBase uses virtual | ||
| //serialization. It doesn't use any traits to specialize serializing | ||
| //though, so this is fine. | ||
| auto clean_s = s.setTraits(); |
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.
Is setTraits() actually just getting s with an empty set of traits, or is it mutating s itself? This looks like either mis-use, or mis-naming.
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.
This is getting s with an empty set of traits. The traits are immutable, since they're types. I can see how the naming may be misleading, but setTraits() (which gets a serializer with only the specified traits) needs to be distinct from withTraits() and withoutTraits() (which get serializers with the specified traits added-to/removed-from the existing traits). Happy to rename if you have any suggestions, but that'd be a PR in Magistrate
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.
asTraits() seems a little clearer
Closes #2428
This also enables recovering to the same proxy ID as checkpointed, when possible. Some additional minor convenience features used for resilience are also included, like getting the index from a collection element proxy and getting the objgroup proxy from an objgroup element proxy.