Roman Zeyde
774d75bd97
Use match
statement for daemon_dir construction
2018-07-16 09:18:48 +03:00
Lawrence Nahum
a85b6ba0c8
add support for regtest
2018-07-15 23:10:29 +02:00
Roman Zeyde
86e5cbda2e
Don't run cargo with --verbose on Travis
2018-07-16 00:00:03 +03:00
Roman Zeyde
de15dbd392
Fix formatting
2018-07-15 23:53:19 +03:00
Roman Zeyde
2d74d6d4f0
Rename a few Config members following #19
...
rpc_addr -> electrum_rpc_addr
daemon_rpc_url -> daemon_rpc_addr
2018-07-15 22:39:19 +03:00
Lawrence Nahum
408372cba4
make listen port and bitcoin rpc configurable
2018-07-15 19:08:15 +02:00
Roman Zeyde
ea65239141
Trace received Electrum RPC requests
2018-07-15 14:49:51 +03:00
Roman Zeyde
5507ee1a8b
Simplify main loop using Option<RPC>
2018-07-15 14:05:17 +03:00
Roman Zeyde
d1f5c61def
Use correct txids for getting mempool transactions
...
If block is found after "getmempoolentry()" and before "gettransactions()",
there will be more transactions at `txs` than in `entries` - causing a panic.
2018-07-15 09:28:50 +03:00
Roman Zeyde
ea24d6a01f
Add release notes
2018-07-15 09:14:45 +03:00
Roman Zeyde
ab4747ce7e
Add cmake
to installation instructions
2018-07-15 07:49:23 +03:00
Roman Zeyde
849c83ed64
Bump version
2018-07-14 18:04:27 +03:00
Roman Zeyde
00de0c028c
Log daemon's network info
...
(including its version string)
2018-07-14 17:13:34 +03:00
Roman Zeyde
253e244a86
Fix cargo fmt
for Travis
...
Stable Rust doesn't support `cargo fmt --check` (yet).
2018-07-14 13:02:28 +03:00
Roman Zeyde
197e5792f8
Improve error message for daemon disconnection
2018-07-14 12:42:21 +03:00
Roman Zeyde
ac9e300226
Run 'cargo fmt --check' on Travis
2018-07-14 10:14:35 +03:00
Roman Zeyde
2852020c58
Fix leftovers at examples/load.rs
2018-07-13 22:24:14 +03:00
Roman Zeyde
daee3fbe4b
Replace "Vec::new()" by shorter "vec![]"
2018-07-13 21:30:30 +03:00
Roman Zeyde
1a9b977dad
Update TODOs
...
- implemented Daemon::gettransactions() API
- implemented multithreaded indexing workers
- SSTable injection requires non-overlapping ranges (= pre-sorting = full compaction)
- HTTP parsing can be improved
2018-07-13 21:12:26 +03:00
Roman Zeyde
48cd929a99
Remove StoreOptions and enable manual compactions explicitly
2018-07-13 14:23:10 +03:00
Roman Zeyde
9a89e6a2d8
Update README with latest performance metrics
2018-07-12 23:26:37 +03:00
Roman Zeyde
03790d9977
Add logging for bulk indexing
2018-07-12 21:30:33 +03:00
Roman Zeyde
4d322d4819
Substract signed integers
2018-07-12 19:38:39 +03:00
Roman Zeyde
1e258f4b3d
Allow vectorized fetch for mempool transactions
2018-07-12 19:38:16 +03:00
Roman Zeyde
cdacf451a9
Log delta of mempool transactions
2018-07-12 18:58:38 +03:00
Roman Zeyde
e09ac477bb
Skip bulk indexing if it's already over
2018-07-12 16:52:25 +03:00
Roman Zeyde
b9a4cb4318
Move bulk reader and indexer to separate module
2018-07-12 16:47:39 +03:00
Roman Zeyde
4c7413db9d
Increase open files limit explicitly
...
Otherwise, full compaction may fail.
2018-07-12 14:44:10 +03:00
Roman Zeyde
c7b8f57228
Keep default parallism settings
2018-07-12 12:47:05 +03:00
Roman Zeyde
125bfe0e15
Log latest indexed block
2018-07-12 10:47:25 +03:00
Roman Zeyde
62a78f18ad
Put "finish" marker after compaction is over
2018-07-12 10:46:33 +03:00
Roman Zeyde
f92dfc808d
Log indexed blk*.dat file path
2018-07-12 09:25:17 +03:00
Roman Zeyde
7b5679db70
Panic if DB exists before running bulk load benchmark
2018-07-11 21:26:12 +03:00
Roman Zeyde
b32e503db2
Rename regular indexing benchmark
2018-07-11 21:26:12 +03:00
Roman Zeyde
dd70a1cc8a
Persist last indexed block marker
2018-07-11 21:26:12 +03:00
Roman Zeyde
6609d6e008
Store indexed blocks' hashes
2018-07-11 21:01:54 +03:00
Roman Zeyde
2158fa1961
Sort blk*.dat files
2018-07-11 21:00:57 +03:00
Roman Zeyde
10919035bd
Rename bulk load benchmark
2018-07-11 20:44:05 +03:00
Roman Zeyde
4da521b3cd
Refactor bulk load benchmark
...
- bulk writes take ~1h (reading blk*.dat files at ~48MB/s)
- full compaction takes ~45m (writing 37GB of SSTables)
2018-07-11 20:42:57 +03:00
Roman Zeyde
1f979baf8f
Increase compaction readahead to 2MB
...
This should improve compaction throughput on HDDs.
2018-07-11 20:33:09 +03:00
Roman Zeyde
219a962145
Use sort_unstable_by() instead of implementing Ord
for Row
2018-07-11 20:31:44 +03:00
Roman Zeyde
ef7a7eac8a
Sort rows before writing to DB
...
Can happen in parallel, before sending the rows to the DB writer thread.
2018-07-11 16:26:06 +03:00
Roman Zeyde
49ec4d1c38
Support SSTable ingestion into DB
2018-07-11 13:48:57 +03:00
Roman Zeyde
e69686f988
Use multiple bulk index workers
2018-07-10 23:52:26 +03:00
Roman Zeyde
4b83c6536f
Add SSTableWriter to store module
2018-07-10 16:09:31 +03:00
Roman Zeyde
fb372b2915
Split reading from indexing blk*.dat files
...
Also, use a single Vec<Row> for write operation
2018-07-10 15:37:56 +03:00
Roman Zeyde
56229409a0
Simplify SIGINT polling
2018-07-10 15:29:56 +03:00
Roman Zeyde
314978f30a
Simplify bulk indexing flow
...
Use separate thread per blk*.dat file.
2018-07-10 15:28:04 +03:00
Roman Zeyde
45f3c7d178
Make store::Row sortable (by key) and clonable
2018-07-09 19:07:33 +03:00
Roman Zeyde
baf2d8624d
Rename bulk_load() -> bulk_index()
2018-07-09 18:02:49 +03:00