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

yarpc / yarpc-go
80%
master: %

Build:
Build:
LAST BUILD BRANCH: nooptrace
DEFAULT BRANCH: master
Repo Added 09 Mar 2016 12:01AM UTC
Files 395
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 singlestate-part_1.0
branch: singlestate-part_1.0
CHANGE BRANCH
x
Reset
  • singlestate-part_1.0
  • RoundRobinRename
  • _start_-adjustchoosepeer-part_1.0
  • _start_-buffer-part_1.0
  • _start_-buffer-part_2.0
  • _start_-changelog-part_1.0
  • _start_-config-part_1.0
  • _start_-fixDebug-part_1.0
  • _start_-fixGen-part_1.0
  • _start_-fixTravis-part_1.0
  • _start_-fixTravis-part_2.0
  • _start_-idemPOTent-part_0.5
  • _start_-idemPOTent-part_1.0
  • _start_-idemPOTent-part_2.0
  • _start_-idemPOTent-part_3.0
  • _start_-idemPOTent-part_4.0
  • _start_-lifecyclecomment-part_1.0
  • _start_-lifecycleflakyness-part_1.0
  • _start_-middlewareStutter-part_1.0
  • _start_-moredeps-part_1.0
  • _start_-moveBack-part_1.0
  • _start_-nitz-part_1.0
  • _start_-outboundName-part_1.0
  • _start_-outboundName-part_2.0
  • _start_-peerRenames-part#1.0
  • _start_-peerRenames-part_1.0
  • _start_-peerRenames-part_2.0-renameOutbound
  • _start_-peerRenames-part_3.0
  • _start_-peerRenames-part_4.0
  • _start_-peerRenames-part_5.0
  • _start_-peerRenames-part_6.0
  • _start_-refactorOneway-part_1.0
  • _start_-release-part_1.0
  • _start_-removeInitPeers-part_1.0
  • _start_-rename-part_1.0
  • _start_-rename-part_2.0
  • _start_-rename-part_3.0
  • _start_-renames-part_1.0
  • _start_-renames-part_2.0
  • _start_-router-part_1.0
  • _start_-router-part_2.0
  • _start_-singlestate-part_1.0
  • _start_-startstop-part_1.0
  • _start_-startstop-part_2.0
  • _start_-startstop-part_3.0
  • _start_-startstop-part_3.5
  • _start_-startstop-part_4.0
  • _start_-states-part_1.0
  • _start_-thriftbenchmark-part_1.0
  • _start_-unlimitedbuffer-part_1.0
  • _start_-updateLicenses-part_1.0
  • _start_-updateObject-part_1.0
  • _start_-wh_exposemiddleware-part_1.0
  • abhinav-patch-1
  • abshost
  • add-missing-license-headers
  • add-x-docs
  • addPeerListToChangeLog
  • adjustchoosepeer-part_1.0
  • ag-installed
  • ajs-build
  • ajs-chains
  • ajs-collect-state
  • ajs-expose-logger
  • ajs-histograms
  • ajs-labels
  • ajs-logging
  • ajs-metrics
  • ajs-pally
  • ajs-pally-helpers
  • ajs-pally-nop
  • ajs-panic
  • ajs-races
  • ajs-redis
  • ajs-request
  • ajs-tchannel-traces
  • ajs-zap
  • alt-life
  • apache-thrift
  • apache-thrift-0.10.0
  • apache-thrift-0.9
  • append-copy
  • automate-generate
  • back-out-vanity
  • back-to-client
  • backup
  • bad-request
  • badrequest
  • bench
  • benchmark
  • billf-checkbench
  • bind-peers
  • buffer
  • buffer-part_1.0
  • buffer-part_2.0
  • cache-example
  • call-w-nil-reqmeta
  • canonpath
  • catchpanic
  • cesym
  • changelog
  • changelog-part_1.0
  • changelog-rc4
  • changelog-transport-refactor
  • changelog-update
  • cherami_crossdocker
  • choose
  • chooser
  • circleci
  • circleci-fix
  • circleci-parallel
  • circleci-work
  • close-outbounds
  • comment-out-docker-cache
  • concrete-dispatcher
  • config
  • config-cherami
  • config-chooser
  • config-docs-pass
  • config-examples
  • config-fakes
  • config-http
  • config-http-test
  • config-interpolate
  • config-interpolate-change-resolver
  • config-interpolation
  • config-kit
  • config-part_1.0
  • config-peers
  • config-peers-http
  • config-peers-names
  • config-peers-tchannel
  • config-redis
  • config-register-peers
  • config-servicename
  • config-tchannel
  • consolidate-meta
  • context-baggage
  • context-header-apis
  • context-matcher
  • context-matcher-baggage
  • context-propagation-crossdock
  • cover-test-imports
  • coverage
  • coverage-my-bad
  • cramfix
  • createrpc
  • crossdock-add-params-to-t
  • crossdock-client
  • crossdock-echo-behaviors
  • crossdock-errors
  • crossdock-fix
  • crossdock-go
  • crossdock-headers
  • crossdock-http-thrift
  • crossdock-lib
  • crossdock-lib-move-up
  • crossdock-lib2
  • crossdock-lib3
  • crossdock-node-master
  • crossdock-remote-errors
  • crossdock-subject
  • crossdock-t
  • crossdock-testify
  • crossdock-tests
  • ctx-err
  • ctxprop-transports
  • debug-docker
  • decoder
  • default-local-glide
  • define-chooser-list
  • delete-unnecessary
  • dep-rules
  • dependencies
  • dev
  • disable-1.7-tip
  • disable-golang-tip-testing
  • dispatch-on-service-procedure
  • dispatcher-hide
  • dispatcher-not-a-router
  • dispatcher-stop-if-start-fails
  • doc-vet-yarpc
  • docker-dev
  • docker-improvements
  • dont-dontNotify
  • enable-java
  • encoding-apis-subpackage
  • endreq
  • enforce-outbound
  • enveloper
  • error-directive
  • error-group
  • error-messages
  • errors
  • errorstchin
  • errorstchout
  • errtest
  • example-warning
  • example_logging
  • examples
  • examples-move
  • examples-org
  • examplespb-nocover
  • expose-inbounds
  • expose-peers-updater
  • fake-req-res-meta
  • fire-done
  • fix-build
  • fix-changelog
  • fix-crossdock
  • fix-crossdock-sleep
  • fix-dco-logs
  • fix-gauntlet
  • fix-mockgen
  • fix-oneway-crossdock
  • fix-protobuf-examples
  • fix-redis-test
  • fix-ref-link
  • fix-travis-crossdock-logging
  • fix-unbind
  • fixDebug-part_1.0
  • fixGen-part_1.0
  • fixMaster
  • fixTravis-part_1.0
  • fixTravis-part_2.0
  • fix_header_crossdock
  • fixdep
  • flake
  • forwarding
  • free-ports
  • gauntlet
  • gauntlet-behavior
  • gauntlet-subject
  • glide-fix
  • glide-instructions
  • glide-update
  • glide_up_cherami
  • go-uber-atomic
  • go.uber.org
  • go17
  • gob-encoding
  • godocs
  • goversions
  • grpc
  • grpc-2
  • grpc-oneway-delete
  • grpc-release
  • grpc-release-part1-dependencies
  • grpc-release-part10-errors
  • grpc-release-part12-opentracing
  • grpc-release-part2-passthroughcodec
  • grpc-release-part3-sample
  • grpc-release-part4-barebonesyarpc
  • grpc-release-part5-procedurerouting
  • grpc-release-part6-crossdock
  • grpc-release-part7-coreheaders
  • grpc-release-part8-appheaders
  • grpc-release-part9-baggageheaders
  • grpc-transport
  • grpc-user-agent
  • header-match
  • headers
  • hello-detail
  • hide-error-constructors
  • hostport-identify
  • hotfix-travis-docker-cache
  • http-app-error
  • http-context-propagation
  • http-docs
  • http-header-prefix
  • http-headers
  • http-inbound-ttl
  • http-new-client
  • http-new-outbound-use-transport
  • http-oneway-ctx
  • http-option-unify
  • http-return-transports
  • http-stop
  • http-transport
  • http-transport-refactor
  • httpchooseroutbound
  • idemPOTent-part_1.0
  • idemPOTent-part_2.0
  • idemPOTent-part_3.0
  • idemPOTent-part_4.0
  • imp_http_inbound_close_err
  • inbound-registry
  • inbound-tracer-options
  • inject-clients
  • inject-options
  • internal-buffer-to-pkg-bufferpool
  • internal-examples-crossdock
  • internal-validator
  • introspection_1
  • introspection_2
  • introspection_3
  • introspection_4
  • introspection_5
  • introspectionmultiplerpctype
  • is-error
  • json-headers-test
  • json-interface-empty
  • jsontest
  • kill-symlinks
  • lessflaky-part_1.0
  • license-fix
  • lifecyclecomment-part_1.0
  • lifecycleflakyness-part_1.0
  • lint-cover-bins-glide
  • lintfix
  • listener
  • local-remote-errors
  • lol/envelope
  • lolhack
  • lostmyhead
  • make-cover-work
  • make-fixes
  • make-generate-fix
  • mapdecode-append-field-hooks
  • mapdecode-decode-hooks
  • mapdecode-field-hooks
  • mapdecode-fix
  • mapdecode-squash-embedded
  • mapdecode-strings
  • mapdecode-vendor
  • mapdecode-vendor-mapstructure
  • marshal-rpc
  • mask-tchannel-existing
  • master
  • matcher-fail
  • mention-bot
  • mentionbot-limit
  • meta
  • meta2
  • meta3
  • metreqnil
  • middleware
  • middleware-docs
  • middlewareStutter-part_1.0
  • moredeps-part_1.0
  • move-methods-to-t
  • move-safely-call
  • moveBack-part_1.0
  • moveRoundRobin
  • multierr
  • new-channel-transport
  • new-crossdock
  • nitz-part_1.0
  • no-git-in-dockerignore
  • no-if-any
  • no-realpath
  • no-ret-ctx
  • noagent
  • nocover
  • nomorechannel
  • nop-lifecycle
  • noregistry
  • nosym
  • oldgos
  • oneway
  • oneway-1-renames
  • oneway-2-handlers
  • oneway-3-registration
  • oneway-4-outbounds
  • oneway-5-validate
  • oneway-6-call
  • oneway-7-crossdock
  • oneway-8-gauntlet
  • oneway-crossdock
  • oneway-ctx-prop
  • oneway-inbounds
  • oneway-rel
  • oneway-rename
  • onewayfilter
  • opentracing-part1-updatecrossdock
  • opentracing-part2-removebaggage
  • opentracing1
  • out-start-stop
  • outbound-enforce-start
  • outbound-ttl
  • outboundName-part_1.0
  • outboundName-part_2.0
  • overalls
  • patch-jaeger-v
  • pb
  • peer-heap
  • peerChangelog
  • peerLicense
  • peerList
  • peerList-part1-interfaces
  • peerList-part10-movepeersubs
  • peerList-part11-connectionstatus
  • peerList-part12-movefolders
  • peerList-part13-updatetests
  • peerList-part14-moretests
  • peerList-part15-refactorOneway
  • peerList-part2-hostportpeer
  • peerList-part3-httpAgent
  • peerList-part4-refactor
  • peerList-part5-singlepeerlist
  • peerList-part6-shimoldoutbounds
  • peerList-part7-roundrobin
  • peerList-part8-addremove
  • peerList-part8-blockchoose
  • peerList-part9-upwardlocks
  • peerListLicenses
  • peerRenames-part#1.0
  • peerRenames-part_1.0
  • peerRenames-part_2.0-renameOutbound
  • peerRenames-part_3.0
  • peerRenames-part_4.0
  • peerRenames-part_5.0
  • peerRenames-part_6.0
  • peernitz
  • peers
  • pgrpc
  • phone-tchannel
  • pin-glide
  • pin-to-tch-major
  • pin-to-thriftrw-010
  • ping-example
  • pivotxports
  • plugin
  • prefix-loop
  • prep020
  • preview
  • props
  • protoc-static
  • provider-plus-list
  • public-validator
  • pv_peer-heap
  • ragel-no-ignore-cmds
  • ragel-predeps
  • raw-external-example
  • rawtest
  • rc2
  • readme
  • readme-1
  • readme-update
  • recorderdoc
  • redis
  • redis-crossdock
  • redis-lifecycle
  • redis-pubsub
  • redis-transport
  • refactor-part1
  • refactor-part2
  • refactor-part3
  • refactor-travis-yml
  • refactorOneway-part_1.0
  • regenerate
  • registrar
  • relax-flap
  • relay
  • release-part_1.0
  • release-up
  • remove-kv-example
  • remove-validate-oneway-context
  • remove-with-registry
  • removeInitPeers-part_1.0
  • removego1516
  • removego16file
  • rename-meta
  • rename-part_1.0
  • rename-part_2.0
  • rename-part_3.0
  • renames-part_1.0
  • renames-part_2.0
  • renaming
  • require-1.7-tip
  • require-encoding
  • reuse-build-func
  • revert-license-fix
  • revise-changelog-bind-chooserlist
  • rm-choose-procedure
  • rm-custom-t
  • rm-meta
  • rm-meta-call-from-context
  • rm-meta-json-client
  • rm-meta-json-server
  • rm-meta-raw-client
  • rm-meta-raw-server
  • rm-meta-server
  • rm-meta-tests
  • rm-meta-thrift-client
  • rm-meta-thrift-server
  • rm-ptr
  • rm-req-res-meta
  • rm-yarpc-headers
  • router-part_1.0
  • router-part_2.0
  • rpc-to-dispatcher
  • runner
  • serialization-changelog
  • serialize-prepend
  • service-test
  • shame-shame
  • signals
  • simplify-dispatch
  • simplify-single-peer-chooser
  • single-peer-lifecycle
  • single-register
  • singler
  • singlestate-part_2.0
  • skip-tchannel-tracer-tests
  • specify-glide-golang-org-imports
  • split-ctx-2
  • startstop-part_1.0
  • startstop-part_2.0
  • startstop-part_3.0
  • startstop-part_3.5
  • startstop-part_4.0
  • stateful-channels
  • states-part_1.0
  • staticcheck-fix
  • status-stringer
  • strayagent
  • strictsrvname
  • stringconv
  • sync-internal
  • tapplicationexception
  • tc-any-service
  • tch-compat
  • tchannel-application-error
  • tchannel-constructors
  • tchannel-context-propagation
  • tchannel-docs
  • tchannel-empty-body-headers
  • tchannel-inbound-iface
  • tchannel-interface
  • tchannel-option-clarification
  • tchannel-peers
  • tchannel-transport-refactor
  • tchannel_existing_handlers
  • tchannelsrvs
  • tchclient-gauntlet
  • tchcompat-gauntlet
  • tchcompat1
  • tchcompat2
  • tchcompat3
  • tchcompat4
  • tchcompat5
  • tchserver-gauntlet
  • tchserver-gauntlet2
  • test-examples
  • test-faster
  • test-middleware
  • there-can-only-be-one-tchannel-inbound
  • thrift-application-errors
  • thrift-doc-update
  • thrift-drop-yarpc
  • thrift-multiplexed-client
  • thrift-no-pooling
  • thrift-options
  • thrift-unexpected
  • thriftbenchmark-part_1.0
  • thriftrw-1.0
  • thriftrw-client-mocks
  • thriftrw-parents
  • thriftrw-plugin-clean
  • thriftrw-plugin-test
  • thriftrw-update
  • thriftrw-upgrade
  • thriftrw020
  • tidy-crossdock-dir
  • timeout
  • top-level-inbounds
  • tracer
  • tracing
  • transport-errors
  • transport-handler
  • transport-lifecycle
  • transport-options
  • transport-registry-transparency
  • transport_outbound_cherami
  • transporttest-channel
  • travis-docker-version
  • travis-handle-suppress-docker
  • travis-lint
  • travis-pr-no-push
  • travisbranchinenv
  • unary
  • unexpand
  • unflake
  • unflake-err
  • unlimitedbuffer-part_1.0
  • unrecognized
  • unsub
  • update-crossdock-main-test
  • update-deps
  • update-examples
  • update-license
  • update-licenses
  • updateLicenses-part_1.0
  • updateObject-part_1.0
  • upgrade-build-deps
  • upgrade-docker
  • upgrade-docker-golang-1.8.1
  • upgrade-multierr
  • use-local-plugin
  • use-tch-master
  • userhandler
  • usethriftrw030
  • v0.1.0
  • v0.1.1
  • v0.2.0
  • v0.2.1
  • v0.3.1
  • v0.4.0
  • v0.5.0
  • v1.0.0
  • v1.0.0-rc1
  • v1.0.0-rc2
  • v1.0.0-rc3
  • v1.0.0-rc4
  • v1.0.0-rc5
  • v1.0.1
  • v1.1.0
  • v1.2.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.6.0
  • v1.7.0
  • v1.7.1
  • validator-parsettl
  • vendor-run-src
  • version
  • versioncheckfix
  • wait-out
  • wh_exposemiddleware-part_1.0
  • without
  • yack-shaving
  • yarpc-build-container
  • yarpc-prefix-protoc-gen-yarpc-go
  • yarpc-uberfx-plugin
  • yuttl
  • ✉️

pending completion
4515

push

travis-ci

willhug
Update lifecycle state management internals

Summary: During an intellectual excercise between @bombela and I we
went through the LifecycleOnce API to change it to use a single atomic
for state.  At the same time we noticed a bug in the functionality where
"Stop" would be called even if "Start" had never been called.

This diff changes the LifecycleOnce to use a singel atomic for state,
and updates the peer list implementations (which had bad assumptions
about what to do if the list hadn't been started yet) to block updates
to the list until the peer list had been started.  The blocks in the
update should block any watchers that attempt to write to the peerlist
so we should retain the order of updates.

6800 of 8541 relevant lines covered (79.62%)

1.71 hits per line

Relevant lines Covered
Build:
Build:
8541 RELEVANT LINES 6800 COVERED LINES
1.71 HITS PER LINE
Source Files on singlestate-part_1.0
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
4515 singlestate-part_1.0 Update lifecycle state management internals Summary: During an intellectual excercise between @bombela and I we went through the LifecycleOnce API to change it to use a single atomic for state. At the same time we noticed a bug in the functional... push 04 Mar 2017 02:26AM UTC willhug travis-ci pending completion  
See All Builds (4514)
  • 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

© 2025 Coveralls, Inc