Skip to content

Commit 1fbf97b

Browse files
riptlripatel-fd
authored andcommitted
restore: fix snapshot-load with vinyl
- Increase snapin_manif link depth to 4 to work around stem flow control limitations - Add snapshot-load --lthash flag to test new streaming lthash verify feature
1 parent 680e12c commit 1fbf97b

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/app/firedancer-dev/commands/snapshot_load.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ snapshot_load_topo( config_t * config,
135135
if( FD_UNLIKELY( snapshot_lthash_disabled ) ) {
136136
fd_topob_link( topo, "snapin_ct", "snapin_ct", 128UL, 0UL, 1UL );
137137
}
138-
fd_topob_link( topo, "snapin_manif", "snapin_manif", 2UL, sizeof(fd_snapshot_manifest_t), 1UL )->permit_no_consumers = 1;
138+
fd_topob_link( topo, "snapin_manif", "snapin_manif", 4UL, sizeof(fd_snapshot_manifest_t), 1UL )->permit_no_consumers = 1;
139139
fd_topob_link( topo, "snapct_repr", "snapct_repr", 128UL, 0UL, 1UL )->permit_no_consumers = 1;
140140
if( vinyl_enabled ) {
141141
fd_topo_link_t * snapin_wh = fd_topob_link( topo, "snapin_wh", "snapin_wr", 4UL, 16UL<<20, 1UL );
@@ -293,6 +293,7 @@ snapshot_load_args( int * pargc,
293293
float db_sz = fd_env_strip_cmdline_float ( pargc, pargv, "--db-sz", NULL, 0.0f );
294294
float db_rec_max = fd_env_strip_cmdline_float ( pargc, pargv, "--db-rec-max", NULL, 0.0f );
295295
_Bool fsck = fd_env_strip_cmdline_contains( pargc, pargv, "--fsck" )!=0;
296+
_Bool fsck_lthash = fd_env_strip_cmdline_contains( pargc, pargv, "--fsck-lthash" )!=0;
296297
_Bool lthash = fd_env_strip_cmdline_contains( pargc, pargv, "--lthash" )!=0;
297298
_Bool accounts_hist = fd_env_strip_cmdline_contains( pargc, pargv, "--accounts-hist" )!=0;
298299
_Bool vinyl_server = fd_env_strip_cmdline_contains( pargc, pargv, "--vinyl-server" )!=0;
@@ -303,6 +304,7 @@ snapshot_load_args( int * pargc,
303304

304305
fd_cstr_ncpy( args->snapshot_load.snapshot_dir, snapshot_dir, sizeof(args->snapshot_load.snapshot_dir) );
305306
args->snapshot_load.fsck = fsck;
307+
args->snapshot_load.fsck_lthash = fsck_lthash;
306308
args->snapshot_load.lthash = lthash;
307309
args->snapshot_load.accounts_hist = accounts_hist;
308310
args->snapshot_load.offline = offline;
@@ -593,6 +595,8 @@ fixup_config( config_t * config,
593595
config->firedancer.snapshots.incremental_snapshots = 0;
594596
}
595597

598+
config->development.snapshots.disable_lthash_verification = !args->snapshot_load.lthash;
599+
596600
/* FIXME Unfortunately, the fdctl boot procedure constructs the
597601
topology before parsing command-line arguments. So, here,
598602
we construct the topology again (a third time ... sigh). */
@@ -801,8 +805,8 @@ snapshot_load_cmd_fn( args_t * args,
801805
if( args->snapshot_load.fsck ) {
802806
FD_LOG_NOTICE(( "FSCK: starting" ));
803807
uint fsck_err;
804-
if( snapwr_tile ) fsck_err = fsck_vinyl( config, args->snapshot_load.lthash );
805-
else fsck_err = fsck_funk ( config, args->snapshot_load.lthash );
808+
if( snapwr_tile ) fsck_err = fsck_vinyl( config, args->snapshot_load.fsck_lthash );
809+
else fsck_err = fsck_funk ( config, args->snapshot_load.fsck_lthash );
806810
if( !fsck_err ) {
807811
FD_LOG_NOTICE(( "FSCK: passed" ));
808812
} else {

src/app/shared/fd_action.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ union fdctl_args {
118118

119119
struct {
120120
uint fsck : 1;
121+
uint fsck_lthash : 1;
121122
uint lthash : 1;
122123
uint accounts_hist : 1;
123124
uint offline : 1;

0 commit comments

Comments
 (0)