-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Proposed 1.7.0-b9 #3708
Proposed 1.7.0-b9 #3708
Commits on Dec 17, 2020
-
Persist API-configured voting settings:
Prior to this commit, the amendments that a server would vote in support of or against could be configured both via the configuration file and via the command line "feature" command. Changes made in the configuration file would only be loaded once at server startup and changes made via the command line take effect immediately but are not persisted across restarts. This commit deprecates management of amendments via the configuration file and stores the relevant information in the `wallet.db` database file. 1. On startup, the new code parses the configuration file. 2. If the `[veto_amendments]` or `[amendments]` sections are present, we check if the `FeatureVotes` table is present in `wallet.db`. 3. If it is not, we create the `FeatureVotes` table and transfer the settings from the config file. 4. Proceed normally but only reference the `FeatureVotes` table instead of the config file. 5. Warns if the voting table already exists in `wallet.db` and there exists voting sections in the config file. The config file is ignored in this case. This change addresses & closes #3366
1Configuration menu - View commit details
-
Copy full SHA for 28ed2b9 - Browse repository at this point
Copy the full SHA 28ed2b9View commit details -
Replace std::pmr with boost::pmr:
gcc's implementation of `prm::synchronized_pool_resource` showed extremely poor performance compared with `boost::synchronized_pool_resouece`. Boost's implementation of pmr is now used in all cases (previously it was only used when a standard lib, like clang's, lacked an implementation of pmr). This patch also makes a minor change where inner nodes are constructed with sparse arrays, unless "dense" is explicitly requested.
Configuration menu - View commit details
-
Copy full SHA for 7b19294 - Browse repository at this point
Copy the full SHA 7b19294View commit details -
Rework deferred node logic and async fetch behavior
This comment explains this patch and the associated patches that should be folded into it. This paragraph should be removed when the patches are folded after review. This change significantly improves ledger sync and fetch times while reducing memory consumption. The change affects the code from that begins with SHAMap::getMissingNodes and runs through to Database::threadEntry. The existing code issues a number of async fetches which are then handed off to the Database's pool of read threads to execute. The results of each read are placed in the Database's positive and negative caches. The caller waits for all reads to complete and then retrieves the results out of these caches. Among other issues, this means that the results of the first read cannot be processed until the last read completes. Additionally, all the results must sit in memory. This patch changes the behavior so that each read operation has a completion handler associated with it. The completion of the read calls the handler, allowing the results of each read to be processed as it completes. As this was the only reason the negative and positive caches were needed, they can now be removed. The read generation code is also no longer needed and is removed. The batch fetch logic was never implemented or supported and is removed.
Configuration menu - View commit details
-
Copy full SHA for 02ccdeb - Browse repository at this point
Copy the full SHA 02ccdebView commit details
Commits on Dec 18, 2020
-
Adjust time resolution of genesis ledger:
Due to some quirky emergent behavior, the server can't really begin synching until twice the default close time resolution of the genesis ledger, which is 30 seconds, has passed. In effect, this causes a one minute delay. This commit adjusts the default close time resolution down to the minimum allowed resoluion of 10 seconds, so the corresponding delay is reduced by 67% down to 20 seconds. This should be enough time to ensure the server has reasonable connectivity without unduly delaying initial synch times.
Configuration menu - View commit details
-
Copy full SHA for 6dd3d82 - Browse repository at this point
Copy the full SHA 6dd3d82View commit details -
Reset corrupt / inconsistent dependency source folders:
* Also display some more information about the build
Configuration menu - View commit details
-
Copy full SHA for 1aaafeb - Browse repository at this point
Copy the full SHA 1aaafebView commit details -
* Move all the vcpkg windows dependency installations into one step. * Move the unmodified `before_install` step above the matrix to improve readability, because this step runs before any of the matrix steps.
Configuration menu - View commit details
-
Copy full SHA for 6f7d413 - Browse repository at this point
Copy the full SHA 6f7d413View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42a068a - Browse repository at this point
Copy the full SHA 42a068aView commit details -
Properly handle the "compression" flag:
- Fix compression enable flag in the inbound peer - Fix compression algorithm fetching in protocol message
Configuration menu - View commit details
-
Copy full SHA for 4159b02 - Browse repository at this point
Copy the full SHA 4159b02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54da532 - Browse repository at this point
Copy the full SHA 54da532View commit details