• 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 _start_-singlestate-part_1.0
branch: _start_-singlestate-part_1.0
CHANGE BRANCH
x
Reset
  • _start_-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_-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_1.0
  • 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
4516

Pull #765

travis-ci

web-flow
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.
Pull Request #765: Update lifecycle state management internals

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 _start_-singlestate-part_1.0
  • List 0
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
4516 _start_-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... Pull #765 04 Mar 2017 02:27AM UTC web-flow travis-ci pending completion  
4514 _start_-singlestate-part_1.0 Use sync.Pool for thrift byte reads Summary: While investigating one of our services we noticed that there was inefficiency coming from allocations on ioutil.ReadAll. This PR changes the thrift inbounds and outbounds to use a sync.pool of buff... push 04 Mar 2017 02:20AM UTC web-flow 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