-
Notifications
You must be signed in to change notification settings - Fork 36.2k
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
Upgrade to LevelDB 1.18 #5093
Upgrade to LevelDB 1.18 #5093
Conversation
e9992fb remove include of chainparams.h (imharrywu)
Travis tweaks
ee304b6 minor changes for help message of getpeerinfo (Philip Kaufmann)
0be990b Move CTxDestination from script/script to script/standard (Pieter Wuille)
- also make parameter of CDBEnv::CheckpointLSN a constant reference
- only code movement
c15e483 typo fix of booleamn to boolean (imharrywu)
- Remove spurious `pchCommand[1] = 1` in CMessageHeader() - Make sure that pchCommand is zero-padded if length is shorter than COMMAND_SIZE - Use strnlen to determine length of pcmCommand in GetCommand
d547ebf Remove mention of MacPorts from OSX build docs (Wladimir J. van der Laan)
Makes it possible to move, minimize, unminimize the window while Bitcoin Core is initializing.
- alphabetical ordering - correct ordering own headers before normal headers etc.
Fixes bitcoin#4669. Move the loading of addresses to StartNode() to make it more self-contained.
018cec7 Fixing 'vector out of bounds' issue in base 32 and 64 (ENikS)
When building from a distdir as gitian does, checking for the .git dir is not reliable. Instead, ask git if we're in a repo.
ab15b2e Avoid copying undo data (Pieter Wuille)
Fix data structure mismatch ... The mind boggles that they were still passing at all.
e21b2e0 Typo in test (Luke)
005b5af rpc-tests: don't spew non-errors to stdout (Cory Fields)
9406471 Write fee estimate and peers files only when initialized (Wladimir J. van der Laan)
There's only one case where a vector containing a fundamental type is serialized all-at-once, unsigned char. Anything else would lead to strange results. Use a dummy argument to overload in that case.
There's only one user of this form of serialization, so it can be easily dropped. It could be re-added if desired when we switch to c++11.
This allows CECKey to be used without directly depending on the secure allocators
Also add a test to verify.
5f4bcf6 boost: drop boost dependency in version.cpp. (Cory Fields) 352058e boost: drop boost dependency in utilstrencodings.cpp (Cory Fields) e1c9467 boost: drop boost dependency in core.cpp (Cory Fields) e405aa4 boost: remove CPrivKey dependency from CECKey (Cory Fields) 5295506 boost: drop dependency on tuple in serialization (Cory Fields) 1d9b86d boost: drop dependency on is_fundamental in serialization (Cory Fields)
Note that this enables c++11 for atomic support. We'll need to verify that this doesn't break our glibc/libstdc++ back-compat. |
Wouldn't Travis catch problems like that? |
We don't currently check for it, no. But we should. I'll put it on my TODO. |
@theuni We could run I'll do it manually with gitian this time to be sure... |
Checked on a gitian build of commit 5b9f842:
All OK. |
utACK |
Note that this will kill all Bloom filters in existing chainstate files. @gmaxwell suggested adding a "oh, you ran an old version? let me copy your entries to new files, so they get new filters", so we don't get a latency hit before all files are rewritten (which should be relatively fast). |
Important: you need to make clean after checking this out to build with the new LevelDB version, otherwise the build system will not detect that anything has changed. |
@laanwj Yes, that can be done, but that script needs a bit of massaging to be compatible with cross builds. I can PR those changes and get this running automatically. |
Tested ACK. I've run a reindex using this code on x86 and copied the result to ARM - with success. This fixes #2293. @theuni @sipa Sounds sensible. There will be an extra latency hit for each access before the files are rewritten. Though I wonder "Is the time spent in rewriting all database files ever be expected to be won back in latency", given normal node usage. |
@laanwj It may not be worth it - the chainstate has pretty high churn, so the data should be rewritten quickly. Let's just merge and see if anyone notices. |
No description provided.