Commit Graph

33 Commits

Author SHA1 Message Date
JoelKatz
6b2a6ea03e Report cache hit rates. 2013-05-21 16:10:51 -07:00
JoelKatz
6556719547 LedgerMaster keeps cached snapshot of the current ledger. 2013-05-16 00:58:20 -07:00
JoelKatz
9e47107255 Rework dispatch of new API PF requests. 2013-05-03 09:33:58 -07:00
JoelKatz
b6871cba8d Dispatch new pathfinding requests. 2013-05-02 16:13:36 -07:00
JoelKatz
3ec1865ce5 Range of validated ledgers. 2013-03-27 14:46:31 -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
566b36715d Simplify the ledger acquire logic. This fixes a few bugs related to it including
the issue if you remove the ledger DB.
2013-03-11 17:57:12 -07:00
JoelKatz
c26726eff3 Bugfix for ledger acquired but not written to database with txns. 2013-03-11 09:19:54 -07:00
JoelKatz
6f811f1e96 Back out some Ledger::ref uses that scare me. 2013-03-10 16:03:23 -07:00
JoelKatz
ecb9e7db26 Enforce validation quorum. Default to quorum of 2 if started with --net. 2013-03-05 09:23:11 -08:00
JoelKatz
51db2d2cd7 Reprocess accepted ledgers once. Track metadata, transaction data, and affected accounts.
Process to SQL database and publish from this structure.
Include number of transactions in ledger publish info.
Publish transactions in applied order.
2013-03-04 13:59:53 -08:00
JoelKatz
bc21139198 If we don't have a ledger we should have, make sure we mark it missing so the
fetch engine will work on it.
2013-02-27 14:18:07 -08:00
JoelKatz
167d13cf40 I think this is the underlying issue. In some cases where the tx return value wasn't
full success, we applied to our open ledger but didn't relay. This caused disputes
resolved only by dispute relaying.
2013-02-24 16:48:54 -08:00
JoelKatz
862dbd7234 Add NetworkOPs::isValidate functions to check if a ledger is fully validated. 2013-02-15 19:01:48 -08:00
JoelKatz
4abdb34c20 Trivial cleanups. 2013-02-09 16:17:12 -08:00
JoelKatz
9781c10736 Fix some cases where ledger flags are incorrectly set. 2013-02-01 16:11:32 -08:00
JoelKatz
e8ac00e1a3 Allow tunable node sizes to adjust cache sizes, sweep timing, fetch
timing, and so on. Node size defaults to "tiny", which converves
memory and bandwidth.
2013-01-27 13:55:59 -08:00
JoelKatz
e25863207a An assert in NetworkOPs.cpp line 850 was reported. This suggests a mutable
ledger came from the ledger master's "ledger by hash" table. This fixes an
obvious way that this can happen (that seems incredibly rare and requires a
transaction / ledger acquire race with a very narrow window) and adds some
extra asserts to try to catch this earlier.
2013-01-23 10:14:20 -08:00
JoelKatz
01b3e9e0ae Add 'getValidatedLedger' to get the last fully-validated ledger.
We should probably audit calls to 'getClosedLedger' to see if they should use this instead.
2013-01-15 19:05:30 -08:00
JoelKatz
fb3e2e8af4 Fix a crash bug Arthur reported. 2013-01-15 17:09:57 -08:00
JoelKatz
55d1af746c Share the 'shouldAcquire' function. recvGetLedger will needed it. 2013-01-12 08:42:24 -08:00
JoelKatz
955c5c3a9c Bug fixes and performance improvements. 2013-01-11 16:40:37 -08:00
JoelKatz
2b479a66c1 Don't immediately retry a failed acquire. 2013-01-07 08:57:41 -08:00
JoelKatz
f493ea6478 Be more aggressive about avoiding publishing ledger holes. Make the logic simpler and more sensible. 2013-01-07 01:33:14 -08:00
JoelKatz
f0c73a76ce Fix some local acquire logic 2013-01-04 00:40:03 -08:00
JoelKatz
1127ae560e Defer publishing a ledger to clients until it accumulates sufficient
validations. We now have an open ledger, a last closed ledger, and a last
validated ledger. Normally, a ledger will be validated right after it
closes, but in edge cases, we might see a ledger close that then doesn't get
validated. This makes the code do the right thing.
2013-01-02 12:04:16 -08:00
JoelKatz
c2d654efee More of the new publication logic. 2013-01-01 18:21:19 -08:00
JoelKatz
1e24721a98 First part of the fix to stop us from publishing ledgers that don't get validated. 2013-01-01 16:11:30 -08:00
JoelKatz
8b8a538a5c On a ledger jump, properly invalidate prior ledgers and invalidate a backfill in progress. 2012-12-31 00:25:52 -08:00
JoelKatz
36f89edb74 Avoid a reference increment where it's not needed. 2012-12-27 10:41:32 -08:00
JoelKatz
be2e55d49c Fix some cases where the acquire engine can stall. 2012-12-25 21:05:12 -08:00
JoelKatz
0fe9f178ef NetworkOPs function to test if we have in our database a specified range of ledger numbers. 2012-11-29 11:46:22 -08:00
Stefan Thomas
fa3fab5816 Moved cpp code to src/cpp and js code to src/js. 2012-11-07 12:49:50 -08:00