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

uber / tchannel-go
86%
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 lock_peers
branch: lock_peers
CHANGE BRANCH
x
Reset
  • lock_peers
  • 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_change
  • 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
  • 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
1961

push

travis-ci

prashantv
Only add connection to ch.conns if it's active

If a connection becomes active, and then closes almost immediately, then
it's possible that the close is handled before onActive is done
processing which leads to adding a inactive connection to ch.conns.

This causes the test TestTimeoutCallsThenClose to fail with state
mismatch since the number of connections has changed.

Check the connection state before adding it to the channel to avoid this
race.

4 of 4 new or added lines in 1 file covered. (100.0%)

3746 of 4331 relevant lines covered (86.49%)

10231.54 hits per line

Relevant lines Covered
Build:
Build:
4331 RELEVANT LINES 3746 COVERED LINES
10231.54 HITS PER LINE
Source Files on lock_peers
  • List 0
  • Changed 38
  • Source Changed 1
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
1961 lock_peers Only add connection to ch.conns if it's active If a connection becomes active, and then closes almost immediately, then it's possible that the close is handled before onActive is done processing which leads to adding a inactive connection to ch.c... push 27 May 2016 11:30PM UTC prashantv travis-ci pending completion  
1958 lock_peers Only add connection to ch.conns if it's active If a connection becomes active, and then closes almost immediately, then it's possible that the close is handled before onActive is done processing which leads to adding a inactive connection to ch.c... push 27 May 2016 10:53PM 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