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

SOHU-Co / kafka-node / 1136
89%

Build:
DEFAULT BRANCH: master
Ran 10 Oct 2018 06:05PM UTC
Jobs 17
Files 55
Run time 18min
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
1136

cron

travis-ci

Xiaoxin Lu
Multiple fixes to message ordering and compression, Fixes #298 (#1072)

* Multiple fixes to message ordering and compression, Fixes #298

There was numerous risks with the fetch process resolved here.

1) Compressed messages, as mentioned in #298, would be guaranteed out of order
We resolve this by making fetch response buffering be handled through a chain
of executions, where one partition is not emitted until the previous one is done,
and able to be processed asynchronously.

This however introduces new risk as the system only dealt with synchronous
processing before, meaning 2 fetch buffers could not be processing at the same
time. But because it's now async, we could end up processing multiple.

We now need to guard starting a new fetch while one is still processing, to ensure
that a new fetch does not begin with stale offset data.

2) Fetch requests may start, and end up being long polling. This fetch result may
end up coming back after a rebalance, or disconnection from the group occurred.

Those fetch requests would then emit events, which may be at different
offsets, topics, or partitions than the new consumer group membership is responsible for...

So if you received an old fetch response for a topic/partition you are no longer
responsible for, you would receive errors. Or even worse, if you are still responsible
for this partition, you may receive a message that about to be received in the new
memberships fetch request.

We will now run a state validator on the message handler to ensure our group
membership has not changed since the fetch request started, and ignore the response
if it has.

3) Kafka, for some unknown reasons, and one known, in the case of compression,
can return an offset older than the offset you requested.

This is a message we know we have already emitted if our topic payloads already
contained this offset.

We need to skip this message, and any message that shouldn't of been in the re... (continued)

1300 of 1691 branches covered (76.88%)

3978 of 4420 relevant lines covered (90.0%)

121983.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 1136.1 (KAFKA_VERSION=0.9) 10 Oct 2018 06:05PM UTC 0
85.68
Travis Job 1136.1
3 1136.3 (KAFKA_VERSION=0.9) 10 Oct 2018 06:06PM UTC 0
85.7
Travis Job 1136.3
4 1136.4 (KAFKA_VERSION=0.10) 10 Oct 2018 06:05PM UTC 0
89.28
Travis Job 1136.4
5 1136.5 (KAFKA_VERSION=0.10) 10 Oct 2018 06:06PM UTC 0
89.28
Travis Job 1136.5
6 1136.6 (KAFKA_VERSION=0.10) 10 Oct 2018 06:10PM UTC 0
89.28
Travis Job 1136.6
7 1136.7 (KAFKA_VERSION=0.11) 10 Oct 2018 06:10PM UTC 0
89.28
Travis Job 1136.7
8 1136.8 (KAFKA_VERSION=0.11) 10 Oct 2018 06:10PM UTC 0
89.28
Travis Job 1136.8
9 1136.9 (KAFKA_VERSION=0.11) 10 Oct 2018 06:11PM UTC 0
89.28
Travis Job 1136.9
10 1136.10 (KAFKA_VERSION=1.0) 10 Oct 2018 06:10PM UTC 0
89.28
Travis Job 1136.10
11 1136.11 (KAFKA_VERSION=1.0) 10 Oct 2018 06:15PM UTC 0
89.28
Travis Job 1136.11
12 1136.12 (KAFKA_VERSION=1.0) 10 Oct 2018 06:16PM UTC 0
89.28
Travis Job 1136.12
13 1136.13 (KAFKA_VERSION=1.1) 10 Oct 2018 06:15PM UTC 0
89.21
Travis Job 1136.13
14 1136.14 (KAFKA_VERSION=1.1) 10 Oct 2018 06:17PM UTC 0
89.28
Travis Job 1136.14
15 1136.15 (KAFKA_VERSION=1.1) 10 Oct 2018 06:16PM UTC 0
89.19
Travis Job 1136.15
16 1136.16 (KAFKA_VERSION=2.0) 10 Oct 2018 06:21PM UTC 0
89.28
Travis Job 1136.16
17 1136.17 (KAFKA_VERSION=2.0) 10 Oct 2018 06:21PM UTC 0
89.34
Travis Job 1136.17
18 1136.18 (KAFKA_VERSION=2.0) 10 Oct 2018 06:23PM UTC 0
89.28
Travis Job 1136.18
Source Files on build 1136
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1136
  • 91e361d8 on github
  • Prev Build on master (#1135)
  • Next Build on master (#1137)
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