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

uber / cherami-client-go
81%
master: 83%

Build:
Build:
LAST BUILD BRANCH: v2.6.0
DEFAULT BRANCH: master
Repo Added 31 Dec 2016 09:36PM UTC
Files 33
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 v1.19.0-rc0
branch: v1.19.0-rc0
CHANGE BRANCH
x
Reset
  • v1.19.0-rc0
  • aandrade.nack-delivery-when-closed
  • cg_retry
  • client_option
  • client_option_default
  • close-synchronous
  • example
  • fd-leak-fix
  • fix-double-close-wait
  • fix_metric
  • glide
  • glideUp
  • graceful_drain
  • hbClient
  • master
  • more_metrics
  • more_tags
  • pause
  • processTimeMetric
  • readme_build
  • reconfig_interval
  • release20160626
  • remove_childreporter
  • singleton-tchannel
  • stuck_read
  • t_up
  • tchannal_up
  • update_cherami_thrift_version
  • update_cthrift
  • v0.1.0
  • v0.2.0-rc1
  • v1.16.1-rc1
  • v1.17.0-rc1
  • v1.18.0-rc1
  • v1.20.0
  • v1.20.1
  • v1.21.0
  • v1.21.0-rc1
  • v1.22.0
  • v1.23.0
  • v1_hotfix
  • v2.0.0
  • v2.1.0
  • v2.2.0
  • v2.3.0
  • v2.4.0
  • v2.5.0
  • v2.6.0

pending completion
194

push

travis-ci

web-flow
Unblock read acks pump from inputhost (#17)

* Unblock read acks pump from inputhost

If the server is draining gracefully, then the server will send a
DRAIN command. The DRAIN command used to simply stop the write pump and
wait for the server to close the stream.

Even though server successfully will close the stream after finishing
the DRAIN, the readAcks pump will never see the EOF because we don't do
a stream.Read() unless we have some messages inflight.

This patch tries to solve that by waiting for a default of a minute and
explicitly closing the connection. In addition this patch also adds some
additional logs and metrics to make sure we can track retries and
failures on publish.

1. We need to make sure if we are already closing/draining we shouldn't
close the connection. This is critical because during reconfig we
could decide to close the connection but in the meanwhile we could
have received a drain command and started draining. In that case we
should just allow the drain process to take care of the rest.
2. Instead of waiting for the entire timeout period, we can ideally just
check for the number of responses we received and bail out immediately.

Fix connection close to make sure we always wait for sometime to give
a chance to drain.

We can avoid using the atomic variables for closed and we can just rely
on the shutting down channel to make sure we close is idempotent.

* Make sure we wait for the final drain timeout

If the checkDrainTimer fires, we exit immediately even if the
drain has not finished yet. But we should wait for the bigger
timeout as well.

233 of 288 relevant lines covered (80.9%)

2208.31 hits per line

Relevant lines Covered
Build:
Build:
288 RELEVANT LINES 233 COVERED LINES
2208.31 HITS PER LINE
Source Files on v1.19.0-rc0
  • 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
194 v1.19.0-rc0 Unblock read acks pump from inputhost (#17) * Unblock read acks pump from inputhost If the server is draining gracefully, then the server will send a DRAIN command. The DRAIN command used to simply stop the write pump and wait for the server... push 17 Apr 2017 05:09PM UTC web-flow travis-ci pending completion  
See All Builds (1207)
  • 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