-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
asim: enable event series generation #109602
Conversation
Please only review the last two commits. The preceding commits are from #109316. |
eed4fd2
to
fe991c8
Compare
c1b4669
to
4c56b69
Compare
c01a590
to
c4c7234
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, lets discuss how we want to handle the CI timeout offline.
Reviewed 15 of 25 files at r1, 9 of 9 files at r2, 13 of 13 files at r3, all commit messages.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @wenyihu6)
-- commits
line 49 at r2:
nit: the wording of this line seems off.
pkg/kv/kvserver/asim/event/mutation_event.go
line 64 at r3 (raw file):
func (se SetSpanConfigEvent) String() string { return fmt.Sprintf("set span config event with span=%s, config=%s", se.Span.String(), se.Config.String())
Is the .String()
call necessary on these? My understanding was that these were inferred by the format function if they exist.
pkg/kv/kvserver/asim/event/mutation_event.go
line 99 at r3 (raw file):
func (sne SetNodeLivenessEvent) String() string { return fmt.Sprintf("set node liveness event with nodeID=%d, liveness_status=%s", sne.NodeId, sne.LivenessStatus.String())
Same as above.
pkg/kv/kvserver/asim/event/mutation_event.go
line 110 at r3 (raw file):
func (sce SetCapacityOverrideEvent) String() string { return fmt.Sprintf("set capacity override event with storeID=%d, capacity_override=%s", sce.StoreID, sce.CapacityOverride.String())
Same as above.
This patch enables interesting event series to be generated and scheduled as part of the simulation. The following command is now supported: "rand_events" [type=<string>{cycle_via_hardcoded_survival_goals}] [duration_to_assert_on_event=<time.Duration>] e.g. rand_events type=cycle_via_hardcoded_survival_goals duration=5m - rand_events: generates interesting event series to be scheduled in the simulation. - type: type of event series to be scheduled. - duration_to_assert_on_event: delay to add the assertion events post mutation events for mutation-assertion event series. Part of: cockroachdb#106192 Release note: none
82c97fd
to
875e7fe
Compare
Previously, kvoli (Austen) wrote…
opps forgot about it |
Previously, kvoli (Austen) wrote…
Done. |
Previously, kvoli (Austen) wrote…
Done. |
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.
Discussed offline, we will resolve the timing out tests before merging.
Reviewed 29 of 29 files at r4, 12 of 28 files at r5, 1 of 1 files at r6, all commit messages.
Reviewable status: complete! 1 of 0 LGTMs obtained (waiting on @wenyihu6)
Previously, the randomized testing framework only reports number of scheduled mutation and assertion events, offering no insights on their execution or the results of the assertion events. This patch adds more output info to include executed mutation events, conducted assertion checks, assertion results, and their execution timing. New verbosity flags for eval is now supported to print these info. "eval" [verbose=events] Part of: cockroachdb#106192 Release note: none
I forgot to shorten the duration when changing the number of ranges generated to 1. After making this change, the time it took to stabilize decreased significantly. The test only takes 2.5 seconds now. I have another PR to remove some of the log events that were time-consuming. But this is no longer blocking this PR. Happy to close this other PR if we prefer to keep the log events for tracing. |
Previously, wenyihu6 (Wenyi Hu) wrote…
link to this other PR - #109804 |
TFTR! bors r=kvoli |
Build succeeded: |
asim: enable event series generation
This patch enables interesting event series to be generated and scheduled as
part of the simulation.
The following command is now supported:
"rand_events" [type={cycle_via_hardcoded_survival_goals}]
[duration_to_assert_on_event=<time.Duration>]
e.g. rand_events type=cycle_via_hardcoded_survival_goals duration=5m
simulation.
mutation events for mutation-assertion event series.
asim: better output for executed events
Previously, the randomized testing framework only reports number of scheduled
mutation and assertion events, offering no insights on their execution or the
results of the assertion events. This patch adds more output info to include
executed mutation events, conducted assertion checks, assertion results, and
their execution timing.
New verbosity flags for eval is now supported to print these info.
Part of: #106192
Release Note: none