• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger / fabric-x-committer
91%
main: 92%

Build:
Build:
LAST BUILD BRANCH: extract-prometheus-startup-and-grpc-server-start
DEFAULT BRANCH: main
Repo Added 05 Feb 2026 01:59PM UTC
Files 128
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix-flaky
branch: fix-flaky
CHANGE BRANCH
x
Reset
  • fix-flaky
  • apt-ci-fix
  • backoff-v5
  • bccsp-race
  • bench-report-metrics
  • bft-delivery
  • bob-rules
  • buffer-race
  • build-unify
  • channel-race
  • ci-gotestsum
  • cli-refactor
  • client-test-race
  • client-tls-bug
  • commit-config-immediately
  • config-docs-yaml
  • connection-test-dep
  • coveralls
  • cryptogen-recreate-support
  • default-test-node-startup-setup
  • deliver-check-block-order
  • deliver-seek-tls-cert
  • deliver-seek-tls-cert-fix
  • dependabot/go_modules/go_modules-9c5197dcb8
  • dependencygraph-race
  • deployment-strategy
  • doc-loadgen-artifacts
  • dynamic-root-ca
  • enable-pprof
  • expose-ledger-api
  • extract-prometheus-startup-and-grpc-server-start
  • fabric-lib-go-v1.1.3
  • fabric-logging
  • fix-connection-reset
  • fix-container-image
  • fix-container-test-macos
  • fix-db-test
  • fix-falky-svmupdate-test
  • fix-flaky-conn-metrics
  • fix-flaky-loadgen-coord
  • fix-master-tserver-rf
  • fix-port-container-test
  • fix-release-path
  • fix-sign
  • fix-test-node-with-insecure
  • fix-waiting-tx-count
  • flaky-test-orderer
  • getpeersmspdirs-no-hardcode
  • go-fix
  • grpc-logger-fix
  • grpcservice-refactor
  • healthz-check
  • ledger-service-wait-behaviour
  • lifecycle-policy
  • limit-block-apis
  • limit-inputs-block-apis
  • load-config-block-certs
  • loadgen-manual-msp
  • loadgen-remove-ctx
  • main
  • make-ci-local
  • make-fixes
  • makefile-test-flags
  • metrics-tls
  • metrics-url-race
  • migrate-to-postgres-official-image
  • minimize-logs
  • mkdocs
  • mock-orderer-features
  • mock-orderer-stream-holder
  • mock-verifier-race
  • move-retry-package
  • namespace-policy-docs
  • optimize-map-block
  • orderer-config-race
  • pgx5
  • postgres-renaming
  • qs-pen-test-fix
  • race-detection
  • rate-limit-sidecar
  • refactor-channel
  • refactor-cmd
  • rename-util-files
  • review-ai-prompt
  • rm-reployment
  • rm-unused
  • root-ca-workaround-fix
  • sidecar-block-store-code-fix
  • sidecar-limit-active-txids-notifier
  • sidecar-race
  • sidecar-remove-chan-id
  • split-tablets
  • sustain-config
  • sync-block
  • template-tls-per-endpoint
  • test-container-port-binding
  • test-coverage-connection
  • test-coverage-improve
  • test-coverage-latency
  • test-coverage-tests
  • test-limiter-max-wait
  • test-minor-fixes
  • test-query-status
  • test-tls-flatten
  • testcrypto-race
  • testcrypto-refactor
  • tls-docs-update
  • update-common-dep
  • update-to-latest-common
  • update-to-yugabytedb-latest-lts
  • upgrade-pg
  • vc-race
  • verifier-test-remove-gomega
  • worktree-notification-docs

31 Mar 2026 11:20AM UTC coverage: 91.391% (+0.2%) from 91.198%
23794732970

Pull #501

github

cendhu
[test] fix flaky TestSignatureVerifierManagerPolicyUpdateAndRecover

Root cause: requireAllUpdate submits many batches (3 per 10ms tick),
filling the outputValidatedTxs channel (capacity 10). When the channel
is full, signVerifier goroutines block on Write() instead of being in
Recv(). Both goroutines in the errgroup deadlock: receiveStatus blocks
on Write (channel full), sendTransactions blocks on Read (no batches),
and neither can cancel gCtx. The drain goroutine was started after
requireAllUpdate, so the channel was already full by the time it ran.
On busy CI machines, the drain goroutine's scheduling delay combined
with buffered responses meant signVerifier[0] could remain stuck on
Write for the entire 30-second EventuallyIntMetric timeout, never
reaching Recv() to detect the broken stream from server.Stop().

Fix: move the drain goroutine before requireAllUpdate so the output
channel never fills up. This ensures signVerifiers are always in their
idle state (blocked on Recv) when the server stops, allowing immediate
stream break detection. Use channel.Ready to guarantee the drain
goroutine is running before proceeding.

Signed-off-by: Senthilnathan <cendhu@gmail.com>
Pull Request #501: [test] fix flaky TestSignatureVerifierManagerPolicyUpdateAndRecover

9936 of 10872 relevant lines covered (91.39%)

42282.43 hits per line

Relevant lines Covered
Build:
Build:
10872 RELEVANT LINES 9936 COVERED LINES
42282.43 HITS PER LINE
Source Files on fix-flaky
  • Tree
  • List 124
  • Changed 15
  • Source Changed 0
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
23794732970 fix-flaky [test] fix flaky TestSignatureVerifierManagerPolicyUpdateAndRecover Root cause: requireAllUpdate submits many batches (3 per 10ms tick), filling the outputValidatedTxs channel (capacity 10). When the channel is full, signVerifier goroutines block... Pull #501 31 Mar 2026 11:28AM UTC cendhu github
91.39
See All Builds (513)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc