Commit graph

1184 commits

Author SHA1 Message Date
Riccardo Spagni d60bf4ee36
Merge pull request #686
7db89ed ARMv7: fix unaligned accesses (Howard Chu)
5a07cef Wrap some more actions in a larger read txn (Howard Chu)
8cc7a36 read txn/cursor stuff (Howard Chu)
86a7f2b core: check whether an update is needed straight away (moneromooo-monero)
ea5fa5e core: print "update needed" hard fork notifications in red (moneromooo-monero)
2016-02-29 17:29:26 -05:00
Howard Chu 7db89ed2ee ARMv7: fix unaligned accesses
And cleanup some key comparators
2016-02-25 13:57:00 +00:00
Howard Chu 5a07cefe7b Wrap some more actions in a larger read txn 2016-02-23 20:47:15 +00:00
Howard Chu 8cc7a36f0b read txn/cursor stuff
Could wrap more later.
2016-02-23 20:47:15 +00:00
moneromooo-monero 86a7f2b1e7 core: check whether an update is needed straight away 2016-02-23 20:29:17 +00:00
moneromooo-monero ea5fa5e9b6 core: print "update needed" hard fork notifications in red 2016-02-23 20:29:17 +00:00
moneromooo-monero 283894d8ff
dns_utils: const compatibility with older libunbound
https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=515
2016-02-23 19:02:05 +00:00
moneromooo-monero 0eb4d054f6
db_bdb: add missing include for std::condition_variable 2016-02-20 15:38:43 +00:00
Riccardo Spagni 81a93cd171
Merge pull request #680
360f72f simplewallet: wording change for single tx confirmation (moneromooo-monero)
2016-02-20 17:11:31 +02:00
Riccardo Spagni c3baa82ac8
Merge pull request #678
11d555c Fix crash in std::map for connections_map (Howard Chu)
014f886 std::condvar is broken on Win32 with gcc/g++ 4.8 too (Howard Chu)
7c86c59 Use boost::thread instead of std::thread (Howard Chu)
2016-02-20 17:10:51 +02:00
Riccardo Spagni a903d9c3f6
Merge pull request #677
57e75fa BlockchainBDB: Check if hard fork subdbs need reset (warptangent)
47f6cf8 BlockchainBDB: Support blockchain_import --drop-hard-fork command (warptangent)
2016-02-20 17:09:49 +02:00
moneromooo-monero 360f72fa90
simplewallet: wording change for single tx confirmation 2016-02-20 11:17:28 +00:00
Howard Chu 014f8868f2 std::condvar is broken on Win32 with gcc/g++ 4.8 too
Use boost...
2016-02-18 21:31:21 +00:00
Howard Chu 7c86c5997d Use boost::thread instead of std::thread
std::thread crashes on (at least) ARMv6 g++ 4.8/4.9
2016-02-18 21:30:10 +00:00
warptangent 57e75fa33f
BlockchainBDB: Check if hard fork subdbs need reset
See f7e337e625 for LMDB equivalent.
2016-02-18 06:38:56 -08:00
warptangent 47f6cf8bea
BlockchainBDB: Support blockchain_import --drop-hard-fork command
See c657e772c4 for LMDB equivalent.
2016-02-18 06:37:45 -08:00
warptangent d258f6e63a
blockchain_import: Pass ARCH_WIDTH macro if 32-bit or not.
This also avoids warnings.
2016-02-18 06:14:35 -08:00
Riccardo Spagni 1889c0e81c
Merge pull request #675
27d4e50 core: check whether an update is needed straight away (moneromooo-monero)
8892173 core: print "update needed" hard fork notifications in red (moneromooo-monero)
2016-02-18 10:01:37 +02:00
Riccardo Spagni 43fe8c4933
Merge pull request #674
05e7ac0 blockchain_import: Check bit width for more than just WIN32 (warptangent)
2016-02-18 10:01:01 +02:00
moneromooo-monero 27d4e50dfa
core: check whether an update is needed straight away 2016-02-17 22:57:38 +00:00
moneromooo-monero 889217381f
core: print "update needed" hard fork notifications in red 2016-02-17 22:57:14 +00:00
Howard Chu 9218cad640 Fix cffc411c90
Don't include bdb header unless defined(BERKELEY_DB)
2016-02-17 20:41:34 +00:00
warptangent 05e7ac0360
blockchain_import: Check bit width for more than just WIN32
Pass the CMake bit width setting to compile flags for blockchain_import
and blockchain_converter.

For LMDB on 32-bit, hyc has found that batch size of 100 appears to be a
good default.
2016-02-17 12:37:15 -08:00
Howard Chu 02abe3590d Use MDB_PREV_MULTIPLE
in get_global_output_indices
2016-02-17 16:14:50 +00:00
Howard Chu 7a4755d3a4 Fixup after lmdb master resync 2016-02-17 16:14:38 +00:00
Riccardo Spagni c069814773
Merge pull request #672
3b13a74 Shutup about VERSION 0 (Howard Chu)
1537477 Use cursor in get_output_key (Howard Chu)
f2faf8c Use MDB_APPEND mode where possible (Howard Chu)
090b548 Use cursors in write txns (Howard Chu)
ed08d21 Keep a running blocksize count (Howard Chu)
0fc9334 Win32 import batchsize tweaks (Howard Chu)
2016-02-17 17:10:07 +02:00
Riccardo Spagni 6636b0a6da
Merge pull request #671
8f09b71 wallet: clear missing data on rescan_bc (moneromooo-monero)
2016-02-17 17:09:48 +02:00
Riccardo Spagni 3225a7d28d
Merge pull request #666
27f76e2 blockchain_import: Build string for db type list (warptangent)
1aa8a9d blockchain_import: Add mode argument representing multiple DB flags (warptangent)
cffc411 blockchain_import: Support BerkeleyDB (warptangent)
19c1aaa blockchain_import: Add database type argument (warptangent)
0fedce0 blockchain_import: Make LMDB-specific names general (warptangent)
2016-02-17 17:09:21 +02:00
Howard Chu 3b13a7473e Shutup about VERSION 0 2016-02-17 05:06:19 +00:00
Howard Chu 1537477c9f Use cursor in get_output_key 2016-02-17 04:05:29 +00:00
Howard Chu f2faf8cdd9 Use MDB_APPEND mode where possible
When keys are contiguous and monotonically increasing, this gets
denser page utilization (doesn't leave padding in page splits).
Can't be used for keys that are inserted in random order (e.g. hashes)
In total this only saves around 1.5% of space compared to original
DB code. The previous patch accounted for 0.8% savings on its own;
the blocks tables just aren't that big.
2016-02-17 04:05:29 +00:00
Howard Chu 090b548c3b Use cursors in write txns
Saves a bit of seek overhead. LMDB frees them automatically
in txn_(commit|abort) so they need no cleanup.
2016-02-17 04:05:29 +00:00
Howard Chu ed08d2152e Keep a running blocksize count
Used in batch size estimation, avoids rereading already processed
blocks during import
2016-02-17 04:05:28 +00:00
Howard Chu 0fc93345ea Win32 import batchsize tweaks
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB
Use a bigger safety margin at small batch sizes
2016-02-17 04:05:28 +00:00
moneromooo-monero 8f09b71b9b
wallet: clear missing data on rescan_bc 2016-02-15 20:51:30 +00:00
warptangent 27f76e2ee4
blockchain_import: Build string for db type list 2016-02-14 16:25:35 -08:00
warptangent 1aa8a9d26f
blockchain_import: Add mode argument representing multiple DB flags
These modes match those optionally provided as part of the daemon's
--db-type argument.

Argument after the # is interpreted as a composite mode if there's only
one (no comma separated arguments).

Sample usage:

blockchain_import --database lmdb#fastest

blockchain_import --database berkeley#fastest

Multiple specific DB flags are still supported, e.g.

blockchain_import --database lmdb#nosync,nordahead

blockchain_import --database berkeley#txn_nosync
2016-02-14 16:25:35 -08:00
Howard Chu d8f9bb380c Keep a running blocksize count
Used in batch size estimation, avoids rereading already processed
blocks during import
2016-02-15 00:22:09 +00:00
warptangent cffc411c90
blockchain_import: Support BerkeleyDB 2016-02-14 16:02:38 -08:00
warptangent 19c1aaa9f6
blockchain_import: Add database type argument
Default to LMDB.
2016-02-14 16:02:37 -08:00
warptangent 0fedce00d5
blockchain_import: Make LMDB-specific names general
Also update terms to better distinguish blockchain management/engine
from database type.
2016-02-14 16:02:37 -08:00
Howard Chu bf22109d16 Win32 import batchsize tweaks
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB
Use a bigger safety margin at small batch sizes
2016-02-14 19:31:52 +00:00
Riccardo Spagni 63e2d4195b
Merge pull request #657
1995923 BlockchainLMDB: Deal with DB exceptions at block level with particularity (warptangent)
c16cc20 BlockchainLMDB: Add sanity check for inconsistent state (warptangent)
9118d0a BlockchainLMDB: Call destructor on allocated txn if setup fails (warptangent)
f5581c3 BlockchainLMDB: Replace remaining txn pointer NULLs with nullptr (warptangent)
2016-02-13 19:54:47 +02:00
Riccardo Spagni 354d478286
Merge pull request #656
9832d18 cmake: Include OpenSSL libraries in static linking (warptangent)
c2f2437 cmake: Remove unused variable (warptangent)
7205210 cmake: Fix unbound config compile settings (warptangent)
3e72d97 cmake: Fix overly broad use of dynamic link settings (warptangent)
2016-02-13 19:51:56 +02:00
Riccardo Spagni 999992a64b
Merge pull request #652
c7e6b77 crypto: only check MONERO_USE_SOFTWARE_AES once (moneromooo-monero)
74aef21 crypto: use software AES based on the MONERO_USE_SOFTWARE_AES env var (moneromooo-monero)
2016-02-13 19:51:30 +02:00
warptangent 1995923559
BlockchainLMDB: Deal with DB exceptions at block level with particularity
Add another DB error exception type to distinguish failed txn setup from
general use of txn.

This keeps the error handling flow the same as before the block-level
txn setup changes that moved control up a layer to BlockchainDB.
2016-02-13 05:12:39 -08:00
warptangent c16cc204d3
BlockchainLMDB: Add sanity check for inconsistent state
This hasn't been known to occur in block-level txn abort, but throw
exception if it does.
2016-02-13 04:17:37 -08:00
warptangent 9118d0a44c
BlockchainLMDB: Call destructor on allocated txn if setup fails 2016-02-13 04:17:37 -08:00
warptangent f5581c3536
BlockchainLMDB: Replace remaining txn pointer NULLs with nullptr
For consistency.
2016-02-13 04:17:36 -08:00
warptangent 3e72d97ca7
cmake: Fix overly broad use of dynamic link settings
Remove LINK_SEARCH_START_STATIC and LINK_SEARCH_END_STATIC. This is more
appropriate when the compiler flag -static is used.

This had been causing CMake to omit the linker flags necesssary to
distinguish static and dynamic library linking. CMake had assumed static
linking for the target, causing it to omit explicit static link flags.
That is problematic without the -static compile flag being set.

With a library located in system directories, like libboost_date_time,
the full static path (.a), though found correctly by CMake, was treated
by the linker as a dynamic library. This is because
target_link_libraries() transforms the full path to -l<libname> if it's
in a system directory.  Without -static or explicit linker flags, the
dynamic library (.so) is linked.

Removing the above two properties removes the assumption of static. So
-Wl;-Bstatic is inserted where needed. This causes -l<libname> to
properly refer to the static library instead of dynamic.
2016-02-12 14:49:43 -08:00