Skip to content

Conversation

@antiguru
Copy link
Member

@antiguru antiguru commented Jan 22, 2025

Previously, reachability and progress logging would use their address to identify the place where an event happened. In logging this is not great because every event needs to come with a vector. Instead, use the operator's global identifier, which we can translate back to the address using the operates events.

Previously, reachability and progress logging would use their address to
identify the place where an event happened. In logging this is not great
because every event needs to come with a vector. Instead, use the
operator's global identifier, which we can translate back to the address
using the operates events.

Flattens the reachability logs so they contain no vectors anymore. This
comes at the expense of logging the identifier more frequently. I think
the change is justifiable as the vector previously had at least the size of
three identifiers, plus the memory of the address itself, so only once we
log more than at least three events, we use more space than we did before.

Signed-off-by: Moritz Hoffmann <[email protected]>
Comment on lines 60 to 68
/// Adds a child `Operate` to the builder's scope using a supplied index.
///
/// This is used internally when there is a gap between allocate a child identifier and adding the
/// child, as happens in subgraph creation.
fn add_operator_with_index(&mut self, operator: Box<dyn Operate<Self::Timestamp>>, index: usize) {
let global = self.new_identifier();
self.add_operator_with_indices(operator, index, global);
}

Copy link
Member

@frankmcsherry frankmcsherry Jan 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an explainer for this deletion, and pivoting the inputs to the _indices version? Seems like we only need to pivot the subgraph builder to use _indices; is this (and the inputs) an unrelated tidy?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the change from the PR.

Signed-off-by: Moritz Hoffmann <[email protected]>
Copy link
Member

@frankmcsherry frankmcsherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks wonderful, and I appreciate the accommodation!

@frankmcsherry frankmcsherry merged commit ef268e8 into TimelyDataflow:master Jan 22, 2025
7 checks passed
@antiguru antiguru deleted the logging_identifier branch January 22, 2025 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants