[blueprint][datastore] Load blueprints before parsing them#9703
[blueprint][datastore] Load blueprints before parsing them#9703
Conversation
|
|
||
| paginator = p.found_batch(&batch, &|(s, _, _)| s.sled_id); | ||
|
|
||
| for (s, slot_a_version, slot_b_version) in batch { |
There was a problem hiding this comment.
Moved to lines 1199-1237
|
|
||
| paginator = p.found_batch(&batch, &|n| n.id); | ||
|
|
||
| for n in batch { |
There was a problem hiding this comment.
Moved to lines 1229-1237
|
|
||
| paginator = p.found_batch(&batch, &|(z, _)| z.id); | ||
|
|
||
| for (z, artifact) in batch { |
There was a problem hiding this comment.
Moved to lines 1240-1292
|
|
||
| paginator = p.found_batch(&batch, &|d| d.id); | ||
|
|
||
| for d in batch { |
There was a problem hiding this comment.
Moved to lines 1295-1322
|
|
||
| paginator = p.found_batch(&batch, &|d| d.id); | ||
|
|
||
| for d in batch { |
There was a problem hiding this comment.
Moved to lines 1325-1353
| paginator = | ||
| p.found_batch(&batch, &|k| k.omicron_zone_id); | ||
|
|
||
| for k in batch { |
There was a problem hiding this comment.
Moved to line 1356ish
| ) | ||
| .map_err(|_| { | ||
| Error::internal_error(&format!( | ||
| "max server id is negative: {}", |
There was a problem hiding this comment.
This looks like it was a copy-pasted error message from above, but it's misleading. This is actually about highest_seen_keeper_leader_committed_log_index. Updated when moved on line 1427
|
Somewhat tricky to validate the original flake, since it was a timing issue, without some pretty invasive changes. Here's what I did:
|
jgallagher
left a comment
There was a problem hiding this comment.
Thanks, I like the organization here quite a lot; the block comments about the stages are very useful.
This avoids parsing a "torn blueprint" by leaving all parsing checks until after the Blueprint rows have been confirmed
to arrive from a non-deleted blueprint.
Fixes #9697