Repository navigation
fix: repair E2E integration test end to end - #303
Merged
Merged
Conversation
The E2E test failed at Arma bootstrap and never reached loadgen. Fixing each failure in sequence surfaced seven more; the run now completes with exit 0 (10002 TXs committed, explorer ingested 10101). Fixes, in the order they blocked the run: - arma_config.yaml: smartbft requestmaxbytes was 10240 while batching RequestMaxBytes is 1048576. The orderer rejects bootstrap unless smartbft >= batching, so all four roles panicked. - Makefile: `$(BUILD_DIR)/%` had no prerequisites, so make treated stale binaries as up to date. bin/configtxgen was months old and linked fabric-x-common v0.2.1, which does not encode the arma BlockValidation signature policy; arma then rejected the config block. Added FORCE so `go install` decides freshness. - configtx.yaml: added SnapshotEndorsement and CheckpointEndorsement application policies. The committer sidecar resolves both from the config block and dropped block 0 without them. - loadgen.yaml: `load-profile.key.size` and `transaction.read-write-count.const` do not match the loadgen schema; use `transaction.key-size` and a scalar `read-write-count`. - explorer: the image entrypoint ignores CMD args and reads EXPLORER_CONFIG_PATH, so the mounted config was never used. Set the env var instead of passing --config. - explorer: the sidecar deliver service requires mtls, but explorer.yaml used mode none, which failed with "error reading server preface: EOF". Point it at the same client credentials loadgen uses and mount the artifacts dir. - clean-docker.sh: explorer and postgres were never removed, leaking containers and port 8080 between runs. - refs.conf: bump explorer to v0.1.2. -e Signed-off-by: Senthilnathan <cendhu@gmail.com>
cendhu
force-pushed
the
fix/e2e-integration-test
branch
from
September 23, 2026 13:56
846faef to
c3ab13a
Compare
tock-ibm
approved these changes
Sep 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
integration/test/run-e2e.shfailed at Arma bootstrap and never reached loadgen:Fixing each failure surfaced the next. Eight in total.
Fixes, in the order they blocked the run
networkconfig/arma_config.yaml— smartbftrequestmaxbyteswas10240, batchingRequestMaxBytesis1048576. Orderer requires smartbft >= batching; all four roles panicked.Makefile—$(BUILD_DIR)/%had no prerequisites, so make treated stale binaries as up to date.bin/configtxgenwas months old and linkedfabric-x-common v0.2.1, which does not encode the arma BlockValidation signature policy →invalid block validation policy: policy type is not signature. AddedFORCEsogo installdecides freshness.networkconfig/configtx.yaml— addedSnapshotEndorsementandCheckpointEndorsement. The committer sidecar resolves both from the config block and dropped block 0 without them:policy not found in channel config: /Channel/Application/SnapshotEndorsement.loadgen.yaml—load-profile.key.sizeandtransaction.read-write-count.constdo not match the loadgen schema ('load-profile.transaction.read-write-count' expected type 'uint32', got unconvertible type 'map[string]interface {}'). Usetransaction.key-sizeand a scalarread-write-count.start.shignores CMD args and readsEXPLORER_CONFIG_PATH, so the mounted config was never used:Error: open /home/explorer/config.yaml: no such file or directory. Set the env var instead of passing--config.explorer.yamlusedmode: none→error reading server preface: EOF, 0 blocks ingested. Point it at the same client credentials loadgen uses and mount the artifacts dir.clean-docker.sh—explorerandpostgreswere never removed, leaking containers and port 8080 between runs.refs.conf— bump explorer tov0.1.2.Verification
Fresh build (
build-e2e.sh --fabric-x-local-path=$PWD) then full unattended run:Exit status
0. Cleanup verified: no containers, notest_e2enetwork, no leftover processes.