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

uber / tchannel-go
85%
dev: 88%

Build:
Build:
LAST BUILD BRANCH: delayed_frame_alloc
DEFAULT BRANCH: dev
Repo Added 29 Dec 2015 02:57PM UTC
Files 120
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 conn_change
branch: conn_change
CHANGE BRANCH
x
Reset
  • conn_change
  • 1.0.5
  • add-caller-forwarding
  • add_listenip_tests
  • add_onclosed
  • add_tracing
  • add_version_local
  • ajs-atom
  • ajs-atomics
  • ajs-benchbug
  • ajs-cache
  • ajs-caller
  • ajs-clamp-introspection
  • ajs-cleanup
  • ajs-conn-prefixes
  • ajs-conns
  • ajs-copy
  • ajs-err-names
  • ajs-evenmoar
  • ajs-expose-routing-delegate
  • ajs-fixme
  • ajs-flake1
  • ajs-fluent
  • ajs-git
  • ajs-install-test
  • ajs-leaks
  • ajs-lint
  • ajs-metrics
  • ajs-metrics2
  • ajs-metrics3
  • ajs-metrics6
  • ajs-moar
  • ajs-relay
  • ajs-stats-race
  • ajs-structy
  • ajs-sync-refs
  • ajs-test-cleanups
  • ajs-tests
  • ajs-timer-pool
  • ajs-timer-wheel
  • ajs-travis
  • ajs-xpr
  • ajs-zones
  • alun/get-force-map
  • alun/peers-len
  • always_set_assignment
  • alxn/580-SetStrategy-should-rescore
  • aniketpant-err-req-cancelled
  • aniketpant-expire-exchange
  • aniketpant-req-cancel
  • apache-thrift-0.10.0
  • apache-thrift-0.9
  • atomic_race
  • avoid_host
  • bench
  • bench_binaries
  • benchmark_logging
  • bump_version
  • byte_slice_params
  • call_id
  • call_logging
  • call_span
  • cancel_connect
  • cancel_ctx
  • ch_active_conn
  • changelog
  • changelog_gen_script
  • cleanup_examples
  • cleanup_logs
  • clone_ctx
  • close_conn
  • close_err
  • close_fix
  • close_states
  • close_test
  • closefix
  • concurrent_relay_connect
  • conn_err
  • conn_gc
  • conn_options_refactor
  • conn_transition
  • connect_flake
  • connect_timeout
  • connection_process
  • consistent_init_error
  • consistent_score
  • context-with-headers
  • copy_api
  • coverage_introspection
  • coveralls_flaky
  • created_stacktrace
  • crossdock-in-travis
  • delayed_frame_alloc
  • dev
  • dev-fix-moe
  • dial_timeout
  • dial_timeout_test
  • docker-thrift-gen
  • dscp_tos
  • dup_check
  • eats_logger
  • eats_logger_compatible
  • eats_logger_compatible_rebase
  • eats_logger_updated
  • enable_1.7
  • enable_logging
  • ephemeral_py
  • error_handler_func
  • error_log
  • export_remote_peer
  • expose_conn_directly
  • fake_call_frame
  • fix-concurrent-map-writes
  • fix-glide-install
  • fix-peer-ip-tag
  • fix_0_ttl
  • fix_deps
  • fix_error_logger
  • fix_flaky_arg3
  • fix_flaky_introspect
  • fix_flaky_test
  • fix_goroutine_leaks
  • fix_lint
  • flaky_close_test
  • flaky_fragmentation_test
  • flaky_inbound_test
  • flaky_peer_remove_closed
  • flaky_peerscorenewconn
  • flaky_readtimeout
  • flaky_relay
  • flaky_relay_closed_peers
  • flaky_relay_concurrent_test
  • flaky_requeststate
  • flaky_responseclosed
  • flaky_streamcancelled
  • flaky_test
  • flaky_tests
  • flaky_writearg3
  • for-yarpc-peer-lists
  • frame_pool
  • get_args
  • get_handler
  • glide
  • glide_up
  • go-thrift-stream
  • go1.9
  • go17
  • go_tip
  • go_version
  • goroutine_leak_multiexclude
  • handle_empty_frame
  • health
  • hosts_err
  • hyperbahn_log
  • hyperbahn_retry
  • hyperbahn_stub
  • ignore_docker
  • ignore_lint
  • ignore_settimeout
  • imalison
  • imalison2
  • import_ordering
  • improve_logging
  • inbound_accept_multiple
  • include_others
  • increase_timeout
  • increase_tombstones
  • init_res
  • init_res_handling
  • inner_server
  • integrate-opentracing
  • integrate-opentracing-crossdock-tests
  • integrate-opentracing-glide-xdock
  • interceptor
  • interceptor_dev
  • interceptor_master
  • interceptor_original
  • interceptor_thrift
  • interceptor_thrift_wip
  • introspect_num_connections
  • introspect_order
  • introspection_include_version
  • introspection_tchannel
  • invaliddeadline
  • josh_streaming_explore
  • json_err
  • keon-patch-1
  • lazy_frame
  • leak_detector_skip
  • leak_end
  • lint_16
  • listenip_local
  • local_peer
  • lock_peers
  • log_conn_dir
  • log_err
  • log_fail
  • log_fields
  • log_new_channel
  • logfields
  • logger_faster
  • long_test
  • master
  • mex_readerwriter
  • mex_safe
  • misc_introspection_logging
  • mock_peerselection
  • mock_real_forward
  • moreargs_err
  • move_ctx_inside
  • muttley
  • muttley_bench
  • muttley_better_introspection
  • muttley_declined
  • muttley_flaky_close
  • muttley_forwarderr
  • muttley_inbounds
  • muttley_lazy_frame
  • muttley_remove_relaytest
  • muttley_repeat_bench
  • muttley_runcount
  • muttley_testserver
  • nathan/add_dispatcher
  • no_leak_test
  • no_mock
  • no_start_close
  • no_test_deps
  • non-error-code
  • notify-peer-change
  • parse_version_headers
  • partial_read_stream
  • pass-context-to-response-callback
  • peer-status-change-on-close
  • peer_active_conn
  • peer_heap
  • peer_heap_unexport
  • peer_score_calc
  • peer_state
  • peer_test_cleanup
  • peer_test_close
  • pengzhai
  • pin-glide
  • pin-thrift-0.10.0
  • pin-thrift-0.9
  • pre_conn
  • publicize-root-peers
  • pv_benchmark_logging
  • pv_finishes_bug
  • pv_relay_pool
  • pv_timer_wheel
  • pv_version
  • race_add_close
  • race_flaky
  • rand-load-balance
  • rand_conn
  • rank_test
  • rate_limit
  • read_test_failure
  • readarg23
  • reduce_conn_refused
  • refactor_relay_test
  • relax-write-arg3-after-timeout
  • relay_assignment
  • relay_atomic
  • relay_channel_closed
  • relay_close_conn
  • relay_default
  • relay_dest_log
  • relay_enable_test
  • relay_err_alloc
  • relay_handle_call
  • relay_interface
  • relay_log
  • relay_logger
  • relay_method
  • relay_missing_logger
  • relay_no_ctx
  • relay_not_closing
  • relay_outgoing
  • relay_outgoing_nohostport
  • relay_queuefull
  • relay_race_timeout
  • relayer
  • release_1.0.6
  • release_1.0.7
  • release_1.1
  • remote_hp_mismatch
  • remove-tracer-from-registrar
  • remove_atomic
  • remove_outbound
  • remove_peer
  • remove_remote_process_match
  • remove_test_deps
  • remove_unused
  • remove_unused_field
  • remove_verify
  • repeat_bench
  • require-thrift-fields
  • resilient_frame_parsing
  • retry_request_state
  • rk
  • robskillington/always-call-post-response-cb-if-ctx-fn-called
  • root-handler
  • rw-able-interface
  • rw-interface
  • sc_options_on_new
  • schallert/dscp_tos_rebase
  • set-handler
  • set_request_size
  • shard-relay
  • sleep_leak
  • stack_fix
  • state_ignore
  • stats_flake
  • stream
  • stream_stuck
  • stream_test
  • stream_unblock_readers
  • struct_sizes
  • such_lint
  • test_flakes
  • test_frag_slow
  • test_server
  • testserver_client
  • testutils
  • testutils_again
  • testutils_register
  • thrift-v1.0.0-dev
  • thrift_byte
  • thrift_ctx
  • thrift_gen
  • thrift_gen_case
  • thrift_gen_namespace
  • thrift_gen_tests
  • thrift_headers
  • thrift_nilerr
  • thrift_struct
  • timeout_multiplier
  • timeout_no_goroutine
  • tracing_span_order
  • track_channels
  • travis_1.7rc1
  • travis_golint
  • travis_lint
  • travisbranchinenv
  • unblock_on_close
  • unexpected_conn_change
  • unknown_exception
  • unmarshal_text
  • update_changelog
  • use-dialcontext
  • use_package_filename
  • use_root_peers
  • v1.0.0
  • v1.0.1
  • v1.0.2
  • v1.0.3
  • v1.0.4
  • v1.0.5
  • v1.0.6
  • v1.0.6-dev
  • v1.0.7
  • v1.0.8
  • v1.0.8_notes
  • v1.0.9
  • v1.1.0
  • v1.2.0
  • v1.2.0-dev
  • v1.2.1
  • v1.2.2
  • v1.2.3
  • v1.3.0
  • v1.3.0-post
  • v1.3.0-prep
  • v1.4.0
  • v1.5.0
  • v1.6.0
  • v1.6.0-post
  • v1.6.0-pre
  • v1.7.0
  • v_1.0.3
  • validate_pre_connection
  • verified_server
  • version_cut
  • version_lint
  • vet_err
  • without-headers
  • womp
  • wrap_ctx
  • writer_after_connerr
  • xichen-fix-peer-connection-race
  • ysh-context-with-headers

pending completion
1489

push

travis-ci

prashantv
Remove error log if onClosedConnRemoved does not find peer

If some peer P has multiple connections C1 and C2, and both close
at the same time, then we have the following sequence of events.
Each connection is running on a separate goroutine.

C1 calls connectionCloseStateChange, removes itself from the connections
list, and is scheduled out before onClosedConnRemoved

C2 calls connectionCloseStateChange, removes itself from the list
and runs onClosedConnRemoved, which will see that there's no connection
for this peer, and it can be safely removed. So it removes P from the
root peer list

C1 continues to run, goes into onClosedConnRemoved, but doesn't find
P in the root peer list, and logs an error.

Since this can happen and does not actually signify an error, we do not
need to log anything in this scenario.

3324 of 3905 relevant lines covered (85.12%)

8596.11 hits per line

Relevant lines Covered
Build:
Build:
3905 RELEVANT LINES 3324 COVERED LINES
8596.11 HITS PER LINE
Source Files on conn_change
  • 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
1489 conn_change Remove error log if onClosedConnRemoved does not find peer If some peer P has multiple connections C1 and C2, and both close at the same time, then we have the following sequence of events. Each connection is running on a separate goroutine. C1 ... push 04 Apr 2016 07:14PM UTC prashantv travis-ci pending completion  
See All Builds (2285)
  • 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