XRPLF / rippled

Decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++
https://xrpl.org
ISC License
4.53k stars 1.47k forks source link

[amendment voting process is broken] (Version: 2.3 maybe even in 2.2.2) #5162

Open xzhaous opened 1 month ago

xzhaous commented 1 month ago

Issue Description

the problem is after I voted for some amendment, after the flag ledger, rippled will just keep the count=1 unless I restart rippled, for example, it will stay like this for ever, each though other validators had accept that feature too "950AE2EA4654E47F04AA8739C0B214E242097E802FD372D24047A89AB1F5EC38" : { "count" : 1, "enabled" : false, "name" : "MPTokensV1", "supported" : true, "threshold" : 3, "validations" : 5, "vetoed" : false }, and only after I restart all rippled again(I should not need to do this), and after flags ledger, it will update to "950AE2EA4654E47F04AA8739C0B214E242097E802FD372D24047A89AB1F5EC38" : { "count" : 5, "enabled" : false, "majority" : 782884182, "name" : "MPTokensV1", "supported" : true, "threshold" : 3, "validations" : 5, "vetoed" : false }, I am seeing this on MPT branch, but I don't think this is just for MPT, something changed amendment voting (edited)

Steps to Reproduce

  1. create a node3 cluster
  2. set following in rippled.cfg

[amendment_majority_time] 15 minutes

  1. do a rippled feature "whatever" accept (on all the validators)

Expected Result

after flag ledger you should see correct count when you run rippled feature then after time you will see feature enabled

Actual Result

after flag ledger, you see the count always =1, only after another rippled reboot, it will get the correct count and feature get enabled