XRPLF / rippled

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

Change the behavior of server_state so that it does not report full until there are complete_ledgers #4936

Open intelliot opened 4 months ago

intelliot commented 4 months ago

It can take a significant amount of time (about a minute) for a synced server to get complete ledgers.

When using rippled, clients should generally wait for complete_ledgers to be non-empty before proceeding with RPC calls/queries. This should be clarified in the docs.

This issue is for the potential fix of making a change to the definition of server_state: full. This change would be to not report full until complete_ledgers is non-empty. This would prevent some edge cases that result in unintuitive behavior for clients.

Originally posted by @intelliot in https://github.com/XRPLF/rippled/issues/4913#issuecomment-1971750686