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

Increment finalizer policy generation on each block that proposes a new finalizer policy; also log when finalizer policy changes #84

Merged
merged 4 commits into from
Apr 29, 2024

Conversation

greg7mdp
Copy link
Contributor

@greg7mdp greg7mdp commented Apr 28, 2024

Resolves #79.

Example of log:

Change of active policy

info  2024-04-29T13:57:46.935 unit_test block_header_state.cpp:197    finish_next          ] Finalizer policy generation change: 4 -> 5
info  2024-04-29T13:57:46.936 unit_test block_header_state.cpp:198    finish_next          ] New finalizer policy becoming active in block 0000001ffc4272a8cc77ab893b49e7d330ef5486032159837e566c9618c25b35: {"generation":5,"threshold":15,"finalizers":[{"description":"initaf description","weight":1,"public_key":"PUB_BLS_R5paCViR6bFHvvW03-lYKcHJX1p0F91wsaqDm0lMj3oox87qlnde6vCjX5UR0y4KrSDCbX3m7YHsIVVBRrbtA0TXFM2cOezzlAVrcZevnepSbrv7UryLKHJ4GwPLeRoGkszq9w"},{"description":"initag description","weight":1,"public_key":"PUB_BLS_Fu-B4MvzC0z5bfELA53qTev-fJChyzFuEeF_e8ErmSK1qtfXFmCyQXvPvxmlba0YpZ-PZomBDRUQpdlBDte_gFrrF6YIsGqsTFUEcZp_8tDnhPo1IVv9WcrcyZJ21ekIuUqEQw"},{"description":"initah description","weight":1,"public_key":"PUB_BLS_RHA-U8IWHz9L3L-95jER4Jyqrmm-bHWgmid4pgCNW2QpsX60dGWmtwg4eeNRfC4XoGDniAulT3nJaVGJ01vaWXwR9wo3WHWAg1iyOxTI6rTZHTuY1BTnvTaWdNNLzXYYUMOuSw"},{"description":"initai description","weight":1,"public_key":"PUB_BLS_W7G0KQi0PI6-lxNut7RlWMV_4mwYQDwtcNmpB7mI4nawuZsZdZXqAyD5EDEPzcsI-rMhP83AffF5FTfVjQDmeiM0pzKbbDVOwf1HWO5gbtiJEKfUHCgZWzZZEGaBMlkGwoU2cQ"},{"description":"initaj description","weight":1,"public_key":"PUB_BLS_tTkr_vzfzHrVgJ3JXWJzdeHydREEJ--1ePiu1wr3xMEWZLKQ9TWwrXnkRWeK-OMCGJg9LFodcxqM5TeALK4MCnwQLvflXrPWZQLjtql6Uyqr18h8dfMkRB5n6nddzNkJKPAsmA"},{"description":"initak description","weight":1,"public_key":"PUB_BLS_8c_keVomVdeWTGWuWRzvpvw5PadskgZlAvyNgqmox2fhBTqZ9dh3SWuyPTCYctwBswOw1FZRKgX7HrwnlXg5FNSJb-Oo878E8EC_yRv2G8FTzKRZPxVsCQDJ5h0uzzcL1QNhGg"},{"description":"inital description","weight":1,"public_key":"PUB_BLS_ENbvdVDzRnEyCuaFC-H7LHMTEHjK1HPoz-v029CGbn4SUyyUgftRoXzZLsi9onEHWz36ftCFxiSPCeDfqJcKl8kXo9hScDIFQIxEEIsw-beaWE66Y8Uzx5YGL3ExArgKun-l0g"},{"description":"initam description","weight":1,"public_key":"PUB_BLS_RlEuUc7ZoEQ588_3f-fg4VroVR_r_Ftw5RnkG8soYFr9O7yRkyelwNK0GmwinEkB8UppO9f-WpAbyCjCCttgUYxZH7bOMzSOQ-uz6qIcLyKERc1nDSwEj_3QDsMbFt4QJX7hrg"},{"description":"initan description","weight":1,"public_key":"PUB_BLS_hHXDiv3L6D7-xVbcT7AxLABwNaOjvpsC4pb4CfIEvpVjvtNOP3sXJW9RagSCQVcUWkeGD-Enke0oen5eGtX51tB2hcbhr7uNZGN7GOg7HouiOeEyNg5tGi0g-GHMOgMHzq_AKg"},{"description":"initao description","weight":1,"public_key":"PUB_BLS_xGwjSftbumZ5ahTn3v6lOL1pRYwySsgpB2FdoelnjYRE8IN0R_ld0NAtZxde4s4W3DY5SsPRC0x_pAN03bxiUnmctsw9hLnDKlGArSlDc5M4c_jpwRseJG8ToTTOgc4Xz28PRA"},{"description":"initap description","weight":1,"public_key":"PUB_BLS_cpEHWXYiC1fhsBCFjskeaq3mCCn5Th6IWkDXPQSyy4xzwoPZHTkJzqa6mOBLMkcJ_0W6xvP1IG58uPsUM9V4KdLZMRR0ORmtT_8OLnBfRnI3Dxuxd4KKpddFiwuKii4TWPOaRA"},{"description":"initaq description","weight":1,"public_key":"PUB_BLS_XgDDHPkaoZ_FaqrgWDSjRdo05P4aXAVGOeUuo-MnUzthcHqfAZfVRyNdeWIcO18CP3aGzpk5VoxDBL3qP2w8O5-WUR_tPclxZ5zCe_7LuZCM5uUhBzd2-NaiNl09CP0NVEylSw"},{"description":"initar description","weight":1,"public_key":"PUB_BLS_rIyJCCRt3v9GLnbuvWOtqwF4CmIAS_P3ge4KfRg0K8wscUzCBCTRCRTvGcDvxVMA4caoQnaG_d9uR5GtvCSNNcbpNA0KLY7zIjl49yN-JLiv7HDdwtyamlNe4fvlBPQS_Cc_ig"},{"description":"initas description","weight":1,"public_key":"PUB_BLS_UV8zwh8eaKGX2lX3ffLUQIxatp7w1Vsjm_NA-GmViuk-b5ghswh9Eyd9fsaMaXEILCtdOmimT-zlK_i7KYOQipQxJxultmU5ZWxvvKHhqfZT-r9EnkG1fR4cOzuF35YMPdy_DA"},{"description":"initat description","weight":1,"public_key":"PUB_BLS_l-MHoqDXJVlrfmPRh7gl8A4iG92Gg1-yuCjL1fSsss-sZXZ0uiBm7uMsje3KtbcCrHqG9fiU9GiQrrzVEGN7BBk7lcILc9ocWZwPqYgd80o0NEJ6-Y1ItnkGbTzO-5cID1DXWQ"},{"description":"initau description","weight":1,"public_key":"PUB_BLS_5PPk1mSK8q5oMznu8tteTBCRkX_9ZS3zUNYUJnmkh1FXfEbLcuLXoTPBU3hWPcwI3guT9lIzBHROI4Loxex-VE3fcPFiLy_a9SaSeLXsv6kX4McUrkSuIotviBtPBs8Q9lhScQ"},{"description":"initav description","weight":1,"public_key":"PUB_BLS_OFh_Wd8uEsXJ6UpgzMWhkJu36GxoYVRZFEMaIlTExYv8g-K0N5lf20i-0ZoGkmoYchPQw1eewJgUIcMAV0MMrI6b73-J8cMe3DLLLXdx_GQjNnnupHKuKMOSpz6rud0S0Om62A"},{"description":"initaw description","weight":1,"public_key":"PUB_BLS_c444N991WRQqHX90FhiWUZ4tbuIO_nfxXyrX_AGwhA-iOKddOifz1RhPnuA7YzgGv0M8O0lslTUJGzhtxYNC-u94YBHxvkeT4FF0PsFh89ht4J5vyX9KjwlMEz4CHCQMmSUoAQ"},{"description":"initax description","weight":1,"public_key":"PUB_BLS_TTbZ0ztjrHqV1arwzF9EsXT-hGxBBFMqdp5VwPG_huX4MYOXgGkUoeu9m_o9QuoDV4khwJSNo-g1oqVA-ZaNoeLGWXHMFTgxg-cTGe3ZCX7pQWoswYh08x4RxPNlN2USCgKmOQ"},{"description":"initay description","weight":1,"public_key":"PUB_BLS_Gwj24izD5vhJMVmMCCmt4u2zg4XqEuGzgVk9yQcKYmnff6DMEQVeQ9QB_GacI24BVLPgYALvCR9NKmn4F7w77eLLUc5vMvAwtmV7Hr8oZOJCezKzDpCmfwFh2IBYmNUSrcwX5Q"},{"description":"initaz description","weight":1,"public_key":"PUB_BLS_kLVxrb5Y7juzIbiC25Xcv0RfsF35rbVgILbDZLzucQOYgw5OXuQBqa2MQMtIIdoAuY_Us0Zlsg6i3SpgB5JRIUD8OFjZguOaOYpQyXRoB1k19288Cnj0kDSSAkwTs0IKuRBfpA"}]}

proposal

debug 2024-04-29T13:57:46.636 unit_test block_header_state.cpp:177    finish_next          ] New finalizer policy proposed in block 00000018e2ccd77ec87765147f78625b9870d27797a32a92dc7500719e72aab7: {"generation":5,"threshold":15,"finalizers":[{"description":"initaf description","weight":1,"public_key":"PUB_BLS_R5paCViR6bFHvvW03-lYKcHJX1p0F91wsaqDm0lMj3oox87qlnde6vCjX5UR0y4KrSDCbX3m7YHsIVVBRrbtA0TXFM2cOezzlAVrcZevnepSbrv7UryLKHJ4GwPLeRoGkszq9w"},{"description":"initag description","weight":1,"public_key":"PUB_BLS_Fu-B4MvzC0z5bfELA53qTev-fJChyzFuEeF_e8ErmSK1qtfXFmCyQXvPvxmlba0YpZ-PZomBDRUQpdlBDte_gFrrF6YIsGqsTFUEcZp_8tDnhPo1IVv9WcrcyZJ21ekIuUqEQw"},{"description":"initah description","weight":1,"public_key":"PUB_BLS_RHA-U8IWHz9L3L-95jER4Jyqrmm-bHWgmid4pgCNW2QpsX60dGWmtwg4eeNRfC4XoGDniAulT3nJaVGJ01vaWXwR9wo3WHWAg1iyOxTI6rTZHTuY1BTnvTaWdNNLzXYYUMOuSw"},{"description":"initai description","weight":1,"public_key":"PUB_BLS_W7G0KQi0PI6-lxNut7RlWMV_4mwYQDwtcNmpB7mI4nawuZsZdZXqAyD5EDEPzcsI-rMhP83AffF5FTfVjQDmeiM0pzKbbDVOwf1HWO5gbtiJEKfUHCgZWzZZEGaBMlkGwoU2cQ"},{"description":"initaj description","weight":1,"public_key":"PUB_BLS_tTkr_vzfzHrVgJ3JXWJzdeHydREEJ--1ePiu1wr3xMEWZLKQ9TWwrXnkRWeK-OMCGJg9LFodcxqM5TeALK4MCnwQLvflXrPWZQLjtql6Uyqr18h8dfMkRB5n6nddzNkJKPAsmA"},{"description":"initak description","weight":1,"public_key":"PUB_BLS_8c_keVomVdeWTGWuWRzvpvw5PadskgZlAvyNgqmox2fhBTqZ9dh3SWuyPTCYctwBswOw1FZRKgX7HrwnlXg5FNSJb-Oo878E8EC_yRv2G8FTzKRZPxVsCQDJ5h0uzzcL1QNhGg"},{"description":"inital description","weight":1,"public_key":"PUB_BLS_ENbvdVDzRnEyCuaFC-H7LHMTEHjK1HPoz-v029CGbn4SUyyUgftRoXzZLsi9onEHWz36ftCFxiSPCeDfqJcKl8kXo9hScDIFQIxEEIsw-beaWE66Y8Uzx5YGL3ExArgKun-l0g"},{"description":"initam description","weight":1,"public_key":"PUB_BLS_RlEuUc7ZoEQ588_3f-fg4VroVR_r_Ftw5RnkG8soYFr9O7yRkyelwNK0GmwinEkB8UppO9f-WpAbyCjCCttgUYxZH7bOMzSOQ-uz6qIcLyKERc1nDSwEj_3QDsMbFt4QJX7hrg"},{"description":"initan description","weight":1,"public_key":"PUB_BLS_hHXDiv3L6D7-xVbcT7AxLABwNaOjvpsC4pb4CfIEvpVjvtNOP3sXJW9RagSCQVcUWkeGD-Enke0oen5eGtX51tB2hcbhr7uNZGN7GOg7HouiOeEyNg5tGi0g-GHMOgMHzq_AKg"},{"description":"initao description","weight":1,"public_key":"PUB_BLS_xGwjSftbumZ5ahTn3v6lOL1pRYwySsgpB2FdoelnjYRE8IN0R_ld0NAtZxde4s4W3DY5SsPRC0x_pAN03bxiUnmctsw9hLnDKlGArSlDc5M4c_jpwRseJG8ToTTOgc4Xz28PRA"},{"description":"initap description","weight":1,"public_key":"PUB_BLS_cpEHWXYiC1fhsBCFjskeaq3mCCn5Th6IWkDXPQSyy4xzwoPZHTkJzqa6mOBLMkcJ_0W6xvP1IG58uPsUM9V4KdLZMRR0ORmtT_8OLnBfRnI3Dxuxd4KKpddFiwuKii4TWPOaRA"},{"description":"initaq description","weight":1,"public_key":"PUB_BLS_XgDDHPkaoZ_FaqrgWDSjRdo05P4aXAVGOeUuo-MnUzthcHqfAZfVRyNdeWIcO18CP3aGzpk5VoxDBL3qP2w8O5-WUR_tPclxZ5zCe_7LuZCM5uUhBzd2-NaiNl09CP0NVEylSw"},{"description":"initar description","weight":1,"public_key":"PUB_BLS_rIyJCCRt3v9GLnbuvWOtqwF4CmIAS_P3ge4KfRg0K8wscUzCBCTRCRTvGcDvxVMA4caoQnaG_d9uR5GtvCSNNcbpNA0KLY7zIjl49yN-JLiv7HDdwtyamlNe4fvlBPQS_Cc_ig"},{"description":"initas description","weight":1,"public_key":"PUB_BLS_UV8zwh8eaKGX2lX3ffLUQIxatp7w1Vsjm_NA-GmViuk-b5ghswh9Eyd9fsaMaXEILCtdOmimT-zlK_i7KYOQipQxJxultmU5ZWxvvKHhqfZT-r9EnkG1fR4cOzuF35YMPdy_DA"},{"description":"initat description","weight":1,"public_key":"PUB_BLS_l-MHoqDXJVlrfmPRh7gl8A4iG92Gg1-yuCjL1fSsss-sZXZ0uiBm7uMsje3KtbcCrHqG9fiU9GiQrrzVEGN7BBk7lcILc9ocWZwPqYgd80o0NEJ6-Y1ItnkGbTzO-5cID1DXWQ"},{"description":"initau description","weight":1,"public_key":"PUB_BLS_5PPk1mSK8q5oMznu8tteTBCRkX_9ZS3zUNYUJnmkh1FXfEbLcuLXoTPBU3hWPcwI3guT9lIzBHROI4Loxex-VE3fcPFiLy_a9SaSeLXsv6kX4McUrkSuIotviBtPBs8Q9lhScQ"},{"description":"initav description","weight":1,"public_key":"PUB_BLS_OFh_Wd8uEsXJ6UpgzMWhkJu36GxoYVRZFEMaIlTExYv8g-K0N5lf20i-0ZoGkmoYchPQw1eewJgUIcMAV0MMrI6b73-J8cMe3DLLLXdx_GQjNnnupHKuKMOSpz6rud0S0Om62A"},{"description":"initaw description","weight":1,"public_key":"PUB_BLS_c444N991WRQqHX90FhiWUZ4tbuIO_nfxXyrX_AGwhA-iOKddOifz1RhPnuA7YzgGv0M8O0lslTUJGzhtxYNC-u94YBHxvkeT4FF0PsFh89ht4J5vyX9KjwlMEz4CHCQMmSUoAQ"},{"description":"initax description","weight":1,"public_key":"PUB_BLS_TTbZ0ztjrHqV1arwzF9EsXT-hGxBBFMqdp5VwPG_huX4MYOXgGkUoeu9m_o9QuoDV4khwJSNo-g1oqVA-ZaNoeLGWXHMFTgxg-cTGe3ZCX7pQWoswYh08x4RxPNlN2USCgKmOQ"},{"description":"initay description","weight":1,"public_key":"PUB_BLS_Gwj24izD5vhJMVmMCCmt4u2zg4XqEuGzgVk9yQcKYmnff6DMEQVeQ9QB_GacI24BVLPgYALvCR9NKmn4F7w77eLLUc5vMvAwtmV7Hr8oZOJCezKzDpCmfwFh2IBYmNUSrcwX5Q"},{"description":"initaz description","weight":1,"public_key":"PUB_BLS_kLVxrb5Y7juzIbiC25Xcv0RfsF35rbVgILbDZLzucQOYgw5OXuQBqa2MQMtIIdoAuY_Us0Zlsg6i3SpgB5JRIUD8OFjZguOaOYpQyXRoB1k19288Cnj0kDSSAkwTs0IKuRBfpA"}]}

@greg7mdp greg7mdp changed the base branch from main to savanna April 28, 2024 01:41
@greg7mdp greg7mdp requested review from heifner and linh2931 April 29, 2024 14:19
//
// These extensions either result from the execution of the previous block (in case this node
// was the block producer) or were received from the network in a `signed_block`.
// -------------------------------------------------------------------------------------------------
Copy link
Member

Choose a reason for hiding this comment

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

Like those descriptions!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks!

// Add this new proposal to the `finalizer_policies` multimap which tracks the in-flight proposals,
// increment the generation number, and log that proposal (debug level).
// ------------------------------------------------------------------------------------------------
dlog("New finalizer policy proposed in block ${id}: ${pol}",
Copy link
Member

Choose a reason for hiding this comment

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

Should we log block number instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The issue specifies that ids should be logged, which makes sense as these blocks are not final, so we may have the same block number in different forks.

@greg7mdp greg7mdp merged commit 1b5972b into savanna Apr 29, 2024
36 checks passed
@greg7mdp greg7mdp deleted the gh_79 branch April 29, 2024 17:55
@ericpassmore
Copy link
Contributor

Note:start
group: IF
category: INTERNALS
summary: Improved algorithm governing generation of finalizer policy.
Note:end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants