-
Notifications
You must be signed in to change notification settings - Fork 405
Disable accounts.in_memory_only by default #8445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -232,17 +232,6 @@ $(OBJDIR)/unit-test/automatic.txt: $(LOCAL_MKS) | |
| $(RM) $@ | ||
| @$(foreach test,$(RUN_UNIT_TEST),echo $(test)>>$@;) | ||
|
|
||
| # Generate list of automatic integration tests from $(call run-integration-test,...) | ||
| integration-test: $(OBJDIR)/integration-test/automatic.txt | ||
| define _run-integration-test | ||
| RUN_INTEGRATION_TEST+=$(OBJDIR)/integration-test/$(1) | ||
| endef | ||
| $(OBJDIR)/integration-test/automatic.txt: $(LOCAL_MKS) | ||
| $(MKDIR) "$(OBJDIR)/integration-test" | ||
| $(RM) $@ | ||
| @$(foreach test,$(RUN_INTEGRATION_TEST),echo $(test)>>$@;) | ||
| $(TOUCH) "$@" | ||
|
|
||
| ifndef FD_HAS_FUZZ | ||
| FUZZ_EXTRA:=$(OBJDIR)/lib/libfd_fuzz_stub.a | ||
| endif | ||
|
|
@@ -279,7 +268,6 @@ make-shared = $(eval $(call _make-exe,$(1),$(2),$(3),lib,lib,$(4) $(LDFLAGS_S | |
| make-unit-test = $(eval $(call _make-exe,$(1),$(2),$(3),unit-test,unit-test,$(4) $(LDFLAGS_EXE))) | ||
| run-unit-test = $(eval $(call _run-unit-test,$(1))) | ||
| make-integration-test = $(eval $(call _make-exe,$(1),$(2),$(3),integration-test,integration-test,$(4) $(LDFLAGS_EXE))) | ||
| run-integration-test = $(eval $(call _run-integration-test,$(1))) | ||
| make-fuzz-test = $(eval $(call _fuzz-test,$(1),$(2),$(3),$(4) $(LDFLAGS_EXE))) | ||
|
Comment on lines
268
to
271
|
||
|
|
||
| ############################## | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -12,29 +12,6 @@ set -eou pipefail | |||||||||
| TESTS= | ||||||||||
| VERBOSE=0 | ||||||||||
|
|
||||||||||
| # Read command-line args | ||||||||||
|
|
||||||||||
| while [[ $# -gt 0 ]]; do | ||||||||||
|
|
||||||||||
| FLAG="$1" | ||||||||||
| shift 1 | ||||||||||
|
|
||||||||||
| case "$FLAG" in | ||||||||||
| "--tests") | ||||||||||
| TESTS="$1" | ||||||||||
| shift 1 | ||||||||||
| ;; | ||||||||||
| "-v") | ||||||||||
| VERBOSE=1 | ||||||||||
| ;; | ||||||||||
| *) | ||||||||||
| echo "Unknown flag: $FLAG" >&2 | ||||||||||
| exit 1 | ||||||||||
| ;; | ||||||||||
| esac | ||||||||||
|
|
||||||||||
| done | ||||||||||
|
|
||||||||||
| if [[ -z "$TESTS" && -z "${RECURSE_GUARD:-}" ]]; then | ||||||||||
| # No tests given, so indirect test execution through Make and retry. | ||||||||||
| # This ensures that we select the correct build dir for the current | ||||||||||
|
|
@@ -51,31 +28,6 @@ AVAILABLE_JOBS=1 | |||||||||
| # Clean up process tree on exit | ||||||||||
| trap 'exit' INT QUIT TERM | ||||||||||
|
|
||||||||||
| # Track list of PIDs of child processes | ||||||||||
| declare -A PIDS=() | ||||||||||
| # Remember unit name of each PID | ||||||||||
| declare -A PID2UNIT=() | ||||||||||
| # Remember logfile name of each PID | ||||||||||
| declare -A PID2LOG=() | ||||||||||
|
|
||||||||||
| # Read in list of automatic integration tests to schedule as jobs | ||||||||||
| declare -a TEST_LIST=() | ||||||||||
|
|
||||||||||
| if [[ -s "$TESTS" ]]; then | ||||||||||
| while read -r line; do | ||||||||||
| if [[ "$line" =~ ^[[:space:]]*# ]]; then | ||||||||||
| continue | ||||||||||
| fi | ||||||||||
| TEST_LIST+=( "$line" ) | ||||||||||
| done < <(grep -v '^#' "$TESTS") | ||||||||||
| fi | ||||||||||
|
|
||||||||||
| echo "test.sh: Scheduling ${#TEST_LIST[@]} tests in sequence" >&2 | ||||||||||
|
|
||||||||||
| rc_path () { | ||||||||||
| echo "/tmp/.pid-$1.rc" | ||||||||||
| } | ||||||||||
|
|
||||||||||
| runner () { | ||||||||||
| local pid="$BASHPID" | ||||||||||
| local prog="$1" | ||||||||||
|
|
@@ -116,14 +68,15 @@ runner () { | |||||||||
| } > "$rcpath" | ||||||||||
| } | ||||||||||
|
|
||||||||||
| # dispatch numa_idx cpu_idx cmdline... | ||||||||||
| # Fork task | ||||||||||
| dispatch () { | ||||||||||
| # Craft command line args | ||||||||||
| local prog="$1" | ||||||||||
| local progname="${prog##*/}" | ||||||||||
| shift 1 | ||||||||||
|
|
||||||||||
| if [[ ! -f "$prog" ]]; then | ||||||||||
| return 0 | ||||||||||
|
||||||||||
| return 0 | |
| echo "test.sh: expected test binary not found: $prog" >&2 | |
| return 1 |
Copilot
AI
Feb 28, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dispatch() is invoking binaries under $OBJDIR/unit-test/..., but test_fddev and test_firedancer_dev are built via make-integration-test, which places them under $OBJDIR/integration-test/.... As written, dispatch will skip running the tests entirely (due to the -f check). Update the paths to the integration-test directory (or change the build rules to emit these under unit-test).
| dispatch "$OBJDIR"/unit-test/test_fddev | |
| dispatch "$OBJDIR"/unit-test/test_firedancer_dev --testnet | |
| dispatch "$OBJDIR"/integration-test/test_fddev | |
| dispatch "$OBJDIR"/integration-test/test_firedancer_dev --testnet |
This file was deleted.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -532,11 +532,11 @@ telemetry = true | |||||
| # | ||||||
| # The account index is stored in memory and preallocated. A limit | ||||||
| # of 1 billion accounts requires approx 100 GB index space. | ||||||
| max_accounts = 30_000_000 | ||||||
| max_accounts = 1_300_000_000 | ||||||
|
|
||||||
| # File size of the account database file (see [paths.accounts]). | ||||||
| # The entire account database is physically preallocated. | ||||||
| file_size_gib = 16 | ||||||
| file_size_gib = 800 | ||||||
|
Comment on lines
+535
to
+539
|
||||||
|
|
||||||
| # The validator keeps account changes that have not yet been | ||||||
| # finalized (rooted) by consensus in memory. This setting controls | ||||||
|
|
@@ -560,7 +560,7 @@ telemetry = true | |||||
| # | ||||||
| # If enabled, allocates [accounts.file_size_gib] memory and ignores | ||||||
| # [accounts.{cache_size_gib,max_unrooted_account_size_gib}]. | ||||||
| in_memory_only = true | ||||||
| in_memory_only = false | ||||||
|
||||||
| in_memory_only = false | |
| in_memory_only = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rule that generated
$(OBJDIR)/integration-test/automatic.txtwas removed, butmake run-integration-teststill passes--tests $(OBJDIR)/integration-test/automatic.txt(see this file earlier). This makes the integration-test runner dependent on a file that is no longer produced anywhere. Either restore generation of the integration test list, or update the run target/runner to not referenceintegration-test/automatic.txt.