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

GoogleCloudPlatform / google-cloud-java / 3013
83%
master: 72%

Build:
Build:
LAST BUILD BRANCH: resource-manager
DEFAULT BRANCH: master
Ran 02 Feb 2017 02:30AM UTC
Jobs 1
Files 379
Run time 149min
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

pending completion
3013

Pull #1586

travis-ci

web-flow
fix race in SubscriberImplTest::receiveMessage

This bug manifests as testBundleAcks deadlocking.

The test
1. publishes a series of messages to a mock server,
2. waits to receive them back,
3. and acknowledges them.

For performance reasons, the client does not immediately
send the acknowledgement request to the server.
Instead, it sends acks in batch every 100ms.
Using a fake clock, the test advances the time by 100ms,
sending the ack-batch, then verify that the mock server
receives the acks.

The bug is in step 2. The test thread waits by waiting on a
CountDownLatch, which is counted down by GRPC thread calling
receiveMessage().
However, the method decrements the latch before acking the message.

On a bad day, the test thread can wake up, advance the clock,
and send the ack-batch before the GRPC thread could add the
message to the batch.
The test then waits for the server to receive an ack it never sent,
deadlocking the test.

The fix is for receiveMessage() to ack the message before
decrementing the counter.
Pull Request #1586: fix race in SubscriberImplTest::receiveMessage

16789 of 20207 relevant lines covered (83.09%)

161.17 hits per line

Jobs
ID Job ID Ran Files Coverage
2 3013.2 02 Feb 2017 04:59AM UTC 0
83.09
Travis Job 3013.2
Source Files on build 3013
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #3013
  • Pull Request #1586
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

© 2026 Coveralls, Inc