-
Notifications
You must be signed in to change notification settings - Fork 110
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
Shub/st connected clients #1288
Conversation
488e88e
to
43cc06c
Compare
a5fcca4
to
ede24aa
Compare
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.
Looks good!
Modulo docs + system schema tests.
.iter_by_col_eq_mut( | ||
ctx, | ||
mut_tx, | ||
ST_CLIENTS_ID, | ||
col_list![StClientsFields::Identity, StClientsFields::Address], | ||
&algebraic_value::AlgebraicValue::product(row), | ||
)? |
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.
@cloutiertyler I feel like this makes #1287 and #1097 more of a priority as we are comparing against:
product![product![AlgebraicValue::Bytes(vec![...].into())], product![AlgebraicValue::Bytes(vec![...].into())]]
as opposed to:
product![AlgebraicValue::U256(Box::new(...)), AlgebraicValue::U128(...)]
When opening a `RelationalDB`, determine the set of dangling clients (`ConnectedClients`) by scanning the `st_clients` table instead of tracking unmatched `__identity_connected__` calls during history replay. We left the replay tracking in place in #1288, treating the commitlog as the sole source of truth. With #1344 (snapshotting), this is no longer correct: the snapshot may contain rows in `st_clients`, but leave no history suffix for replay.
When opening a `RelationalDB`, determine the set of dangling clients (`ConnectedClients`) by scanning the `st_clients` table instead of tracking unmatched `__identity_connected__` calls during history replay. We left the replay tracking in place in #1288, treating the commitlog as the sole source of truth. With #1344 (snapshotting), this is no longer correct: the snapshot may contain rows in `st_clients`, but leave no history suffix for replay.
Description of Changes
st_clients
table to keep track of connected clients.__identity_connect__
reducer transaction.API and ABI breaking changes
N/A
Expected complexity level and risk
2
Testing