Skip to content
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

Minimize number of TLC configuration files. #6511

Merged
merged 1 commit into from
Sep 30, 2024

Conversation

lemmy
Copy link
Contributor

@lemmy lemmy commented Sep 27, 2024

Consolidate config files to reduce redundancy: The previous setup included multiple config files with mostly similar content. This commit replaces the individual config files with a single unified config file and introduces environment variables to handle differences.

Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
@lemmy lemmy marked this pull request as ready for review September 28, 2024 20:11
@lemmy lemmy requested a review from a team as a code owner September 28, 2024 20:11
@achamayou achamayou added this pull request to the merge queue Sep 30, 2024
@achamayou achamayou removed this pull request from the merge queue due to a manual request Sep 30, 2024
@achamayou achamayou merged commit 2069c68 into microsoft:main Sep 30, 2024
17 checks passed
Copy link
Member

@heidihoward heidihoward left a comment

Choose a reason for hiding this comment

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

Thanks @lemmy for doing this! The duplication across cfg files meant it was tricky to always keep them all in sync

run: |
set -x
cd tla/
./tlc.sh -workers auto -config consensus/MCccfraftWithReconfig.cfg consensus/MCccfraft.tla -dumpTrace tla MCccfraftWithReconfig.trace.tla -dumpTrace json MCccfraftWithReconfig.json
Configurations=3C2N MaxTermLimit=4 RequestLimit=1 NoCheckQuorum= ./tlc.sh -workers auto consensus/MCccfraft.tla -dumpTrace tla MCccfraft3C2N4T1R.trace.tla -dumpTrace json MCccfraft3C2N4T1R.json
Copy link
Member

Choose a reason for hiding this comment

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

Maybe its just me but I find NoCheckQuorum= a bit confusing, maybe DisableCheckQuourm=True would be clearer?

run: |
set -x
cd tla/
./tlc.sh -workers auto consensus/MCccfraft.tla -dumpTrace tla MCccfraft.trace.tla -dumpTrace json MCccfraft.json
Configurations=1C2N MaxTermLimit=2 RequestLimit=3 ./tlc.sh -workers auto consensus/MCccfraft.tla -dumpTrace tla MCccfraft1C2NT2R3.trace.tla -dumpTrace json MCccfraft1C2NT2R3.json
Copy link
Member

Choose a reason for hiding this comment

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

@lemmy I failed to spot this, but MaxTermLimit=2 here replaces MaxTermLimit=4 that was set in MCccftraft2Nodes.cfg, and effectively means we no longer do view changes in this invocation, or the one below. I am replacing the Limit with a Count, to make it clear that it's the changes from StartTerm that we are setting.

Copy link
Member

Choose a reason for hiding this comment

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

+1 for changed to term count. If no view change then TermCount should be 0 so it's clear that that is the case

@lemmy
Copy link
Contributor Author

lemmy commented Oct 1, 2024

A follow-up is to figure out how to run different logical configs in IDEs such as VSCode or the Toolbox.

@heidihoward
Copy link
Member

That's a good point, I guess we are now further away from #6490

@lemmy lemmy deleted the mku-singleconfig branch October 1, 2024 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tla TLA+ specifications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants