Commit Graph

65 Commits

Author SHA1 Message Date
JoelKatz
567b17efe6 Tiny bugfix. 2013-03-29 08:33:35 -07:00
JoelKatz
85afb49058 Time fetches better. 2013-03-29 08:22:52 -07:00
JoelKatz
00913f838f Fix the 'getAccountHash() == mAccountStateMap->getHash()' bug.
'getNeededHashes' can do the wrong thing (report no needed hashes when we
need them all) if we have a ledger's root node but not the root node of the
tree we're querying.
2013-03-17 22:04:34 -07:00
JoelKatz
9edfd51430 Reduce some log severities. 2013-03-17 21:24:56 -07:00
JoelKatz
6bc474c461 tryLocal should only check the hash database. 2013-03-17 17:30:35 -07:00
JoelKatz
74bf47c73d Defer acquire timeouts if ledger data is backing up. 2013-03-16 18:30:26 -07:00
JoelKatz
a12c72f422 Be more careful not to tamper with an acquired ledger/map after
it has completed.
2013-03-16 18:22:35 -07:00
JoelKatz
b9456c8fd7 Except when interacting with boost, use std::function and std::bind
when C++11 is available. See: http://stackoverflow.com/questions/14617835
2013-03-16 03:27:43 -07:00
JoelKatz
f222544048 Do the same thing for timer entry. 2013-03-15 22:50:26 -07:00
JoelKatz
e392366c63 Get ledger acquire work off the main thread and out of the master lock.
Prioritize ledger acquire work appripriately. This should help prevent the
server from becoming overly sluggish while acquiring ledgers. Still todo:
Finish all pending receive operations before sending out any data requests.
2013-03-15 22:34:55 -07:00
JoelKatz
a8552ec4f6 Fix a ledger acquire race that caused a crash. 2013-03-15 01:19:49 -07:00
JoelKatz
2248d92a33 Wrap all peer socket accesses in a strand. This is needed to prevent a fatal
race condition in composed intermediary functions.

A few ledger acquire cleanups.
2013-03-12 16:53:30 -07:00
JoelKatz
b9433d4780 Correct chatty log. 2013-03-12 00:53:02 -07:00
JoelKatz
8874dd3f01 Remove chatty debug. 2013-03-11 23:33:09 -07:00
JoelKatz
cd8721fbdc Add an assert to catch a mismatch in id/hash size tables. 2013-03-09 11:13:18 -08:00
JoelKatz
eccb6eb936 Cleanups and a small fix. 2013-03-05 21:54:04 -08:00
JoelKatz
5b383d43b0 Fix a bug that could cause crashes. 2013-02-21 19:29:25 -08:00
JoelKatz
52c378411d If we start seeing acquire timeouts, don't start new acquires.
The link could be overloaded.
2013-02-20 13:30:57 -08:00
JoelKatz
e674bcea36 A collection of small bugfixes. 2013-02-08 16:22:27 -08:00
JoelKatz
1808454983 Use the new uptime code. Replace slow, non-monotonic 'time(NULL)' calls
with fast, almost-always-monotonic 'upTime()' calls.
2013-02-05 22:31:26 -08:00
JoelKatz
9781c10736 Fix some cases where ledger flags are incorrectly set. 2013-02-01 16:11:32 -08:00
JoelKatz
0cb1a1d84b Cleanups and timing adjustments. 2013-01-28 02:32:57 -08:00
JoelKatz
56571602b0 Reduce a debug message to debug level. 2013-01-15 19:46:58 -08:00
JoelKatz
90010b8870 Cleanups. Remove some unneeded filters. 2013-01-15 10:20:41 -08:00
jed
f3a28d65b7 windows 2013-01-14 12:57:37 -08:00
JoelKatz
8afbc33706 Some LedgerAcquire improvements. 2013-01-14 02:12:30 -08:00
JoelKatz
fc78cb38ed Don't favor (for acquire) peers that come earlier in the peer vector. 2013-01-13 21:40:46 -08:00
JoelKatz
6f33155308 Makr ledgers we acquired to accept as closed. 2013-01-13 00:22:46 -08:00
JoelKatz
a0bfd57937 Fix an endless loop. 2013-01-12 23:47:06 -08:00
JoelKatz
e5c1b3e6f2 Remove a bogus assert. 2013-01-12 21:48:15 -08:00
JoelKatz
cbeb6a50e8 LedgerAcquire::filterNodes wasn't following the right logic. 2013-01-12 08:34:36 -08:00
JoelKatz
b21e751ce7 Typo 2013-01-11 18:27:37 -08:00
JoelKatz
14f6250ce5 Don't use hash-based fetching too quickly. 2013-01-11 16:54:34 -08:00
JoelKatz
955c5c3a9c Bug fixes and performance improvements. 2013-01-11 16:40:37 -08:00
JoelKatz
9880b23e7f Typo. 2013-01-11 14:22:50 -08:00
JoelKatz
d14d8cbf76 Helper functions. 2013-01-11 14:21:31 -08:00
JoelKatz
793843780c Filter out redundant node queries. 2013-01-10 16:27:22 -08:00
JoelKatz
7ed37066cf Add some features to the KeyCache code so we can use it for ledger acquire failure tracking too. 2013-01-09 15:55:18 -08:00
JoelKatz
6cf1b3dbc1 Tiny cleanup. 2013-01-09 10:31:14 -08:00
JoelKatz
714b3fb0d0 Small fixes. 2013-01-09 10:14:18 -08:00
JoelKatz
4f1619eb5e Extra debug. 2013-01-09 09:21:58 -08:00
JoelKatz
0778a3ebae Don't blow up if asked to acquire a hash that's not a ledger. 2013-01-09 03:16:59 -08:00
JoelKatz
c74a1b89e3 By careful how many GetObjectByHash requests we send. 2013-01-09 03:08:00 -08:00
JoelKatz
96eac78174 To be a recent failure, a failure must be recent. 2013-01-08 01:47:09 -08:00
JoelKatz
79c3f777aa Memory fixes. 2013-01-08 01:14:55 -08:00
JoelKatz
69f42e6f02 Fix a bug that causes excessive GetObjByHash queries. 2013-01-07 22:47:16 -08:00
JoelKatz
ecc04b21f3 Be smarter about when we clean up ledger acquires. 2013-01-07 14:42:46 -08:00
JoelKatz
6624e31d5a Clean up old acquires. 2013-01-07 08:57:20 -08:00
JoelKatz
63fd3818fb Rather than counting PeerSet's, count LedgerAcquire's and TransactionAcquire's. 2013-01-06 17:32:25 -08:00
JoelKatz
dfbd640f6c Complete the fetch by hash logic, including tracking the hashes we want. 2013-01-04 22:14:53 -08:00