Jump to content
Sign in to follow this  
mDuo13

rippled 0.30.1 released

Recommended Posts

Release Notes: https://wiki.ripple.com/Rippled-0.30.1

It's already been live on Ripple's validators for several days, but the official release is here! Lots of small features in this release, including updates to account_offers, server_info, peer subscriptions, and more. (I'm struggling to track down all of them on the documentation front, actually!)

If you run a validator, definitely be sure to update to this version -- the optimizations to ledger close times and all that stuff make it hard to keep up if you're still running 0.30.0 or earlier!

Share this post


Link to post
Share on other sites
1 minute ago, mDuo13 said:

Release Notes: https://wiki.ripple.com/Rippled-0.30.1

It's already been live on Ripple's validators for several days, but the official release is here! Lots of small features in this release, including updates to account_offers, server_info, peer subscriptions, and more. (I'm struggling to track down all of them on the documentation front, actually!)

If you run a validator, definitely be sure to update to this version -- the optimizations to ledger close times and all that stuff make it hard to keep up if you're still running 0.30.0 or earlier!

Awesome! Can u explain how the optimizations to ledger close times were achieved? Correct me if i'm wrong but i think this is a pretty huge improvement. I remember JoelKatz mentioning that a close time around 3s would be desirable but i don't remember why exactly.

As a matter of fact the close time dropped almost 1 second on average. That's a big performance boost of around 25% if i think about things like maxTxPerLedger etc. Congratz on that Ripple Team ;) 

Share this post


Link to post
Share on other sites

I can't speak to the details because they generally involve pretty intricate knowledge of the rippled codebase. One of them is as simple as making it easier to get a close time for a ledger, which saves the rippled server from evicting some important recent ledgers from its cache, providing a big performance improvement for a silly little thing like that.

I think another change has to do with purging unfunded offers -- this happens as part of transaction processing, but there were some edge cases in the previous software version where different servers might purge unfunded offers in non-deterministic order, which meant that some servers built ever-so-slightly different resulting ledgers and the consensus process had to account for that, which takes a little longer.

A third change has to do with being better about relaying proposals from other validators. There were a bunch of cases where the proposals would come in from other servers in between rounds, which caused the server to ignore them, which meant that later (when it was ready for the proposals) it didn't pass them on to other servers. Now it keeps them on hand, so it can decide later that the proposal is valid after all and pass it on.

On top of that, there were some changes to the ledger consensus code so that it has its own lock instead of sharing a master mutex, which means consensus isn't as likely to get hung up waiting on other threads.

There were also probably other improvements regarding which I don't have that much information. As always, you can look at the code to see what changed exactly.

I'm honestly not sure how much each  contributed to the changes, though. I'm not a C++ developer, so my personal interpretation of anything beyond the release notes is probably not that reliable. That said, it's probably apparent from this how the changes are all a bunch of little things (worthy of a minor release) that happened to add up to a major performance improvement.

Share this post


Link to post
Share on other sites

If you are building the new version of rippled on a Ubuntu machine, you may run into an error when the std=c++14 command line option is invoked. If you are affected by this error, enter the command sudo Builds/Ubuntu/install_rippled_depends_ubuntu.sh followed by sudo apt-get update && sudo apt-get upgrade to resolve this issue.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...