Skip to content
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

Merged
merged 7,031 commits into from
Oct 25, 2014
Merged

Upgrade to LevelDB 1.18 #5093

merged 7,031 commits into from
Oct 25, 2014

Conversation

sipa
Copy link
Member

@sipa sipa commented Oct 16, 2014

No description provided.

sipa and others added 30 commits September 16, 2014 19:10
e9992fb remove include of chainparams.h (imharrywu)
ee304b6 minor changes for help message of getpeerinfo (Philip Kaufmann)
0be990b Move CTxDestination from script/script to script/standard (Pieter Wuille)
1a61396 fix missing gettransaction entries in rpcclient (Benedict Chan)
57e1716 update rpc help message for gettransaction to add includeWatchonly param (Benedict Chan)
6dcfda2 Don't pass nHashType to EvalScript nor CheckSig (jtimon)
2b23a87 Don't pass nHashType to VerifyScript (jtimon)
ce3649f Remove CScriptCheck::nHashType (was always 0) (jtimon)
358562b Remove unused function main:VerifySignature (jtimon)
- also make parameter of CDBEnv::CheckpointLSN a constant reference
93f84d0 cleanup class private and public areas in walletdb (Philip Kaufmann)
22d7e70 prefer const string& over char* in CDB and CWalletDB constructor (Philip Kaufmann)
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)
bbad683 [Qt] simplify return code and return values in txtablemodel (Philip Kaufmann)
21f1516 [Qt] add all used colors in txtablemodel to guiconstants (Philip Kaufmann)
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.
sipa and others added 11 commits October 13, 2014 12:11
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
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)
@theuni
Copy link
Member

theuni commented Oct 16, 2014

Note that this enables c++11 for atomic support. We'll need to verify that this doesn't break our glibc/libstdc++ back-compat.

@sipa
Copy link
Member Author

sipa commented Oct 16, 2014

Wouldn't Travis catch problems like that?

@theuni
Copy link
Member

theuni commented Oct 16, 2014

We don't currently check for it, no. But we should. I'll put it on my TODO.

@laanwj
Copy link
Member

laanwj commented Oct 17, 2014

@theuni We could run contrib/devtools/symbol-check.py on the output of the travis build?

I'll do it manually with gitian this time to be sure...

@laanwj
Copy link
Member

laanwj commented Oct 17, 2014

Checked on a gitian build of commit 5b9f842:

../bitcoin/contrib/devtools/symbol-check.py build/out/bin/32/* &&
    ../bitcoin/contrib/devtools/symbol-check.py build/out/bin/64/* &&
    echo "All OK"

All OK.

@gavinandresen
Copy link
Contributor

utACK

@sipa
Copy link
Member Author

sipa commented Oct 17, 2014

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).

@laanwj
Copy link
Member

laanwj commented Oct 20, 2014

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.

@theuni
Copy link
Member

theuni commented Oct 20, 2014

@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.

@laanwj
Copy link
Member

laanwj commented Oct 21, 2014

Tested ACK. I've run a reindex using this code on x86 and copied the result to ARM - with success. This fixes #2293.

@theuni Sure, auto detecting would be even better sorry I was confused what you were referring to here, I thought the clean build system :-) Yes, would be nice to have that check in Travis now that people are going to push the limits of the supported compilers.

@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.

@sipa
Copy link
Member Author

sipa commented Oct 25, 2014

@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.

@sipa sipa merged commit 5b9f842 into bitcoin:master Oct 25, 2014
sipa added a commit that referenced this pull request Oct 25, 2014
4b0e2d7 Squashed 'src/leveldb/' changes from 7924331..7d41e6f (Pieter Wuille)
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.