Commit Graph

362 Commits

Author SHA1 Message Date
carllin 2dfa48daf9
Add ability to parse logs in ledger-tool (#10840)
Co-authored-by: Carl <carl@solana.com>
2020-06-30 02:20:54 -07:00
sakridge 583cec922b
Remove ledger purge batching (#10830) 2020-06-29 14:44:35 -07:00
sakridge ea30c157e0
Better slot printing (#10811) 2020-06-27 10:47:02 -07:00
sakridge aa544b2245
Add ledger copy command (#10756) 2020-06-25 11:56:36 -07:00
Trent Nelson d42247c652
ledger-tool: Ignore SIGUSR1 (#10730)
Prevents warehouse archive calls getting KO'd by logrotate
2020-06-21 18:08:17 +00:00
Kristofer Peterson 6d81eede93
Add CLI options and runtime support for selection of output snapshot version. (#10536) 2020-06-19 14:38:37 +09:00
Greg Fitzgerald 6ee222363e
Move BankForks to solana_runtime (#10637)
* Move BankForks to solana_runtime

* Update imports
2020-06-17 15:27:03 +00:00
Trent Nelson b329e6d1a4 Add --warp-slot argument to |solana-ledger-tool create-snapshot| 2020-06-09 09:16:21 -07:00
Ryo Onodera b515cc3ae5
Don't share same snapshot dir for secondary access (#10384)
automerge
2020-06-03 02:45:48 -07:00
Ryo Onodera caa7f7a0c9
Support opening an in-use rocksdb as secondary (#10209)
automerge
2020-06-02 21:32:44 -07:00
Michael Vines 1303c4964b Surface more helpful error message than 'blockstore error' 2020-06-02 11:11:06 -07:00
Michael Vines 5ac2ae1178
Purge next slots to avoid a blockstore_processor panic on restart (#10281) 2020-05-27 19:55:40 -07:00
Michael Vines 156387aba4
LedgerCleanupService no longer causes an OOM and actually purges (#10199)
* cleanup_ledger() now services new_root_receiver while purging
* purge_slots() now fully deletes before compacting
* Add ledger pruning grafana graph
2020-05-24 21:41:54 -07:00
Ryo Onodera 8d32441b96
Fix ledger-tool create-snapshot and add sanity test (#10212)
automerge
2020-05-24 08:27:36 -07:00
Greg Fitzgerald d9919b99d2
Remove folds (#10128)
automerge
2020-05-19 18:13:41 -07:00
Michael Vines 2521f75c18
Advertise node software version in gossip (#9981)
* Advertise node version in gossip

* Remove solana_clap_utils::version! macro
2020-05-11 15:02:01 -07:00
Ryo Onodera 00e45ec935
Maintain sysvar balances for consistent market cap. (#9936)
* Maintain sysvar balances for consistent market cap.

* Unindent
2020-05-09 02:42:32 +09:00
Michael Vines 09ae61651a
Eliminate BankForksInfo (#9887) 2020-05-06 08:24:59 -07:00
Ryo Onodera a91236012d
Pass around --max-genesis-archive-unpacked-size (#9161)
automerge
2020-04-29 18:53:34 -07:00
Michael Vines c11abf88b7
Clean up `use` to keep rust 1.43.0 from complaining (#9740) 2020-04-27 16:54:11 -07:00
sakridge fa20963b93
Revert shred fs (#9712)
* Revert "Untar is called for shred archives that do not exist. (#9565)"

This reverts commit 729cb5eec6.

* Revert "Dont insert shred payload into rocksdb (#9366)"

This reverts commit 5ed39de8c5.
2020-04-24 15:04:23 -07:00
Michael Vines 914b022663
cli: Add transaction-history (#9614)
automerge
2020-04-20 22:01:09 -07:00
anatoly yakovenko 5ed39de8c5
Dont insert shred payload into rocksdb (#9366)
automerge
2020-04-16 18:20:55 -07:00
Michael Vines 7e7cbec8a1 Passing -v/--verbose to `solana confirm` now displays the full transaction 2020-04-16 08:19:30 -07:00
Michael Vines 3f1399cb0d accounts subcommand now prints account balances in SOL instead of lamports 2020-04-12 10:09:59 -07:00
Michael Vines d5a9ee97f2
Add --allow-dead-slots argument to `slot`/`print`/`json` commands (#9408)
automerge
2020-04-09 20:10:51 -07:00
Michael Vines f3afe5c99c
Remove dead code (#9404)
automerge
2020-04-09 13:09:59 -07:00
Ryo Onodera cb6cf189b4
Improve ledger-tool/accounts for easier debuging (#9370)
automerge
2020-04-08 10:25:46 -07:00
sakridge 8ed05c27f2
Improve ledger-tool help (#9365) 2020-04-07 19:21:31 -07:00
Tyera Eulberg 49e2cc6593
Rework TransactionStatus index in blockstore (#9281)
automerge
2020-04-04 20:24:06 -07:00
sakridge 9493de4443
Add snapshot compression option (#9276) 2020-04-03 13:13:49 -07:00
Ryo Onodera f987c18a7e
Strictly validate the contents of snapshot/genesis (#8959)
automerge
2020-03-25 02:46:41 -07:00
Michael Vines 7d6ea6c17e
ledger-tool can now decode stake instructions (#9045)
automerge
2020-03-24 05:23:29 -07:00
Michael Vines 70c167182a
ledger tool now outputs transaction status information if available (#9024)
automerge
2020-03-23 12:49:21 -07:00
Michael Vines ff2c183ac1
Add set-dead-slot command (#9008) 2020-03-21 21:43:33 -07:00
sakridge de34187db0
Add purge function to ledger-tool (#8719) 2020-03-08 12:40:56 -07:00
Michael Vines acb23e8ef0
Groom ledger-tool bounds output (#8710) 2020-03-07 09:05:15 -07:00
Michael Vines a08e2cc434
nit: clean up MessageHeader output 2020-03-04 00:16:19 -07:00
Michael Vines 13551885c2 --wait-for-supermajority now requires a SLOT 2020-03-02 12:59:35 -07:00
Michael Vines 0d4cb252c4 Adapt local-cluster/ 2020-02-26 23:32:53 -07:00
Michael Vines fcabc6f799 Rename snapshot.tar.bz2 to snapshot-<slot>-<hash>.tar.bz2 2020-02-26 23:32:53 -07:00
Michael Vines fbf78b83c4 Add retry mechanism when downloading genesis and snapshots 2020-02-26 14:21:37 -07:00
Michael Vines 89baa94002 Drop print- prefix from slot/accounts command 2020-02-24 14:46:12 -07:00
Michael Vines 1ef3478709 Add genesis subcommand 2020-02-24 14:46:12 -07:00
Michael Vines 73063544bd Move shred_version module to sdk/ 2020-02-24 14:46:12 -07:00
sakridge b7386f9d84
Add --trusted-validator support for snapshot hash validation (#8390) 2020-02-21 18:42:24 -08:00
Ryo Onodera d238371b0c
Correct missing entry handling to avoid bad warns (#8339)
* Correct missing entry handling to avoid bad warns

* Pass storage entries to AccountStorageSerialize

* Fix CI.....

* Add tests and reorder condition for cheapest first

* Remove unneeded reference
2020-02-21 15:27:55 +09:00
Michael Vines 18fd52367e
If the node was loaded from a snapshot, advertise it in gossip (#8364)
automerge
2020-02-20 18:53:26 -08:00
Michael Vines 1bf2285fa2 ledger-tool: Add print-accounts command 2020-02-14 19:59:48 -07:00
Michael Vines 04ef977509
Remove unwanted println 2020-02-07 12:59:00 -07:00
Michael Vines 8b5598fabd
Surface shred version more in tools (#8163)
automerge
2020-02-07 08:57:54 -08:00
Jack May 8436457e75
Rename program_utils.rs (#8127) 2020-02-05 12:48:30 -08:00
Michael Vines 989355e885 Add ability to hard fork at any slot (#7801)
automerge
2020-01-24 17:27:04 -08:00
Michael Vines bda5f949bb Add create-snapshot command 2020-01-23 22:21:27 -07:00
Michael Vines 6f5e0cd161 Type grooming 2020-01-23 13:37:13 -07:00
Michael Vines 1269a79a4d Unify ledger_path arg handling with validator/ 2020-01-23 13:37:13 -07:00
Michael Vines 1b3424ff61 Pass bank_forks by reference 2020-01-23 13:37:13 -07:00
carllin f91ffbbfdf
Add support in BlockStore for tracking duplicate slots (#7761)
* Add test

* Add new column family to track duplicate slots

* Fix clippy errors

* Introduce new SlotColumn for common implementation of Column trait
2020-01-13 17:21:39 -08:00
Greg Fitzgerald b5dba77056 Rename blocktree to blockstore (#7757)
automerge
2020-01-13 13:13:52 -08:00
Jack May 07855e3125
Allow override of RUST_LOG (#7705) 2020-01-08 09:19:12 -08:00
Michael Vines 3f69d58498
ledger-tool: Add --all option to bounds, to display all non-empty slots (#7592) 2019-12-20 20:43:53 -07:00
Sunny Gleason 7392505bd8
Modify ledger-tool to selectively load Blocktree, GenesisHash, Database so commands are more resilient (#7547) 2019-12-18 13:00:15 -05:00
Sunny Gleason 115bf2613d
feat: add analyze-storage command to ledger-tool (#7165) 2019-12-12 18:54:50 -05:00
Justin Starry b7d4330dd4
Fail fast if account paths cannot be canonicalized (#7300)
* Canonicalize account paths to avoid symlink issues

* fixes
2019-12-05 21:41:29 -05:00
Sagar Dhawan 1af4e256c9 Print slot meta when printing a slot (#7133)
automerge
2019-12-03 12:27:43 -08:00
Jack May d184d3a732
Merge native programs parts into one unit (#7047) 2019-11-20 10:12:43 -08:00
Michael Vines e7f63cd336
Upgrade to rust 1.39.0 (#6939)
* Upgrade to rust 1.39.0

* 1.39.0 clippy
2019-11-14 12:27:01 -07:00
Ryo Onodera 4fc767b3f6
Move version! from core:: to clap_utils:: (#6944)
* Move version! from core to clap-utils

* Completely move version! from core:: to clap_utils::

* rustfmt

* Do remaining transition after rebase
2019-11-14 13:10:38 +09:00
Michael Vines 4405e8a15b
Automatically run dot to generate PDFs or PNGs (#6912) 2019-11-12 20:27:15 -07:00
Michael Vines c2fdbde68f
forks graph can now optionally display all validator votes (#6885) 2019-11-12 10:13:16 -07:00
Michael Vines 25866f3652
print command now supports multiple slots and decodes system/vote instructions (#6878) 2019-11-11 23:22:20 -07:00
Michael Vines 24a7b0ce74
Add print-genesis-hash command (#6849) 2019-11-08 23:17:48 -07:00
Justin Starry 9807f47d4e
Rename genesis block to genesis config (#6816) 2019-11-08 23:56:57 -05:00
carllin 24102a7435
Allow voting on empty banks (#6719)
* Allow votes on empty banks

* Remove making first bank is_delta true, no longer necessary for idling

* Remove votable from ledger tool
2019-11-06 01:02:26 -08:00
Michael Vines 09e648f957
ledger-tool/: Include full validator voting history in fork-graph (#6756) 2019-11-05 19:40:00 -07:00
Michael Vines cea13e964c
Add --graph-forks option (#6732) 2019-11-04 23:18:30 -07:00
Michael Vines fba1af6ea9
ledger-tool can now load a ledger snapshot (#6729) 2019-11-04 22:14:55 -07:00
Michael Vines 4d52f47f87
Move get_bank_forks() into ledger/ so its available for use by ledger-tool/ (#6720) 2019-11-04 19:10:06 -07:00
Michael Vines 50a17fc00b Use Slot and Epoch type aliases instead of raw u64 (#6693)
automerge
2019-11-02 00:38:30 -07:00
Michael Vines 3879109e4c
Display full blocktree error 2019-10-25 08:37:39 -07:00
Sagar Dhawan 28d3af6f35
Add "bounds" command to ledger-tool and fix broken funtionality (#6540) 2019-10-24 22:20:52 -07:00
Greg Fitzgerald 2636418659
Move blocktree_processor to solana_ledger (#6460)
* Drop core::result dependency in bank_forks

* Move blocktree_processor into solana_ledger
2019-10-20 09:54:38 -06:00
Greg Fitzgerald 5468be2ef9 Add solana-ledger crate (#6415)
automerge
2019-10-18 09:28:51 -07:00
Justin Starry 5e31565574
Expand blocktree processor options (#6248)
* Refactor blocktree processor args and support full leader cache

* Add entry callback option

* Rename num_threads to override_num_threads

* Add test for entry callback

* Refactor cached leader schedule changes

* Add tests for blocktree process options

* Refactor test

* @mvines feedback
2019-10-08 17:58:49 -04:00
Jack May e8d88f3237
Split SDK's timing.rs (#5823) 2019-09-06 14:30:56 -07:00
Michael Vines 3450b9a44d
Rename solana to solana-core (#5583) 2019-08-21 10:23:33 -07:00
Greg Fitzgerald 471bc73a23
Fix Rust 1.37.0 compiler warnings (#5530)
Looks like most usages of trait objects should have introduced
a type variable instead.
2019-08-15 14:00:09 -06:00
Michael Vines c02373493b Add print-slot subcommand (#5478)
automerge
2019-08-09 15:57:31 -07:00
Michael Vines 8c15214923
Add --dev-halt-at-slot option (#5453) 2019-08-08 09:14:30 -07:00
Michael Vines c78db6a94b
ledger path reform: use Path/PathBuf instead of strings (#5344) 2019-07-30 15:53:41 -07:00
Sagar Dhawan 6ad9dc18d8
Add ability to prune ledger (#5128)
* Add utility to prune the ledger

* Add tests

* Fix clippy

* Fix off by one

* Rework to force delete every column

* Minor fixup
2019-07-17 14:42:29 -07:00
Pankaj Garg 1c966aac25 Facility to generate a blocktree prune list using ledger tool (#5041)
automerge
2019-07-12 16:58:13 -07:00
Michael Vines ebcdc06dc3
Restore ledger-tool print and json commands (#5048)
* Restore ledger-tool print and  json commands

* Remove obsolete read_ledger()
2019-07-11 20:33:36 -07:00
Michael Vines df43e721e3
Exit 1 on ledger verification failure 2019-05-09 12:05:51 -07:00
carllin 512bfc93cb
Add a cache for leader schedules (#3841)
* Add a cache for leader schedules
2019-04-19 02:39:44 -07:00
Michael Vines bb420cb995 Use crate_description and crate_name Clap macros 2019-03-14 00:35:34 -05:00
Michael Vines d32f5b6cca Use process_blocktree to verify the ledger 2019-03-02 08:47:31 -08:00
Michael Vines 7c4473e0aa Rename Entry.id to Entry.hash 2019-03-01 09:31:49 -08:00
Pankaj Garg 5c9777970d moved fee collection code to runtime 2019-02-21 16:35:23 -08:00
Pankaj Garg a33921ed34 address review comments 2019-02-20 08:12:37 -07:00
Greg Fitzgerald dde886f058 Move Bank to its own crate
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Greg Fitzgerald b539389741 Move all Validator dependencies from Bank to blocktree_processor 2019-02-16 15:01:26 -07:00
carllin 6e7c5f205b
Rename db_ledger to blocktree (#2698) 2019-02-07 20:52:39 -08:00
Michael Vines 4bb6549895 Genesis block is now a json file 2019-01-25 09:05:15 -08:00
Michael Vines c0b472292b Revert "Entries that result in a ProgramError are still valid entries"
This reverts commit ab23b41998128e8d663c81dd5af86a8b82e33b6e.
2019-01-18 21:06:50 -08:00
Michael Vines 4f86563352 Entries that result in a ProgramError are still valid entries 2019-01-18 13:42:04 -08:00
Michael Vines 818afc68c1 Report number of entries and last_id on successful verification 2019-01-18 13:42:04 -08:00
Michael Vines 1f6346d880 De-dup ledgers - db_ledger is now the only ledger written to disk 2019-01-04 16:37:00 -08:00
Kevin Hart 84cc240f34 Enhance ledger-tool
Add a command-line argument (min-hashes) to restrict the entries
processed by ledger-tool.  For example, --min-hashes 1 will strip
"empty" Entries, i.e. those with num_hashes = 0.

Add basic ledger tool test
2019-01-04 08:17:43 -07:00
Michael Vines fd562cb9e2 Rust 2018 cleanup 2018-12-14 21:57:15 -08:00
Michael Vines 6ac466c0a4 Move src/logger.rs into logger/ crate to unify logging across the workspace 2018-12-14 13:10:43 -08:00
Michael Vines 0fe6d61036 Move binaries from src/bin into their own crate 2018-12-13 22:25:27 -08:00