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

wikimedia / parsoid / 696 / 1
85%
master: 85%

Build:
DEFAULT BRANCH: master
Ran 21 Sep 2015 04:34AM UTC
Files 71
Run time 2s
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

18 Sep 2015 05:14PM UTC coverage: 85.125% (-0.1%) from 85.259%
696.1

push

travis-ci

subbuss
T112686: Use a timer to ensure forward progress in batched dispatches

* Rejiggered the dispatching a bit to ensure that we are guaranteed
  to make forward progress independent of the idiosyncrasies of
  events get scheduled (because of implementation details of
  Parsoid's async pipeline or node's event loop).

* Normally, the dispatch -> batch-response -> dispatch -> ...
  pipeline keeps batch requests flowing smoothly. The only problem
  is how to kickstart this pipeline at the start and whenever
  the pipeline stops in the middle when there are no outstanding
  batch requests.

  This is handled as follows:

  1. Whenever a request comes in, schedule a 0ms timer to check
     if we are stuck and need to make forward progress.
  2. If a new request comes in before the timer trips, reset the
     timer -- this minimizes premature dispatch of unfilled batches.
  3. Whenever a batch reaches the max batch size, always dispatch it.
  4. If the timer trips and we don't have anything outstanding,
     dispatch whatever we have.

* Because of the new requirement to always dispatch whenever
  we receive a response, I removed the idleTimer. We can dispatch
  immediately without scheduling it in an event loop.

* I removed the async TTM from the batching dispatch equation.

* Verified that:
  - this fixes the parse of the request in the bug report.
  - this reduces the # of dispatched batches.
    With enwiki:Barack_Obama page, this reduced # of dispatched
    batches from 31 -> 22 without impacting parse latencies.

* Unrelated changes:
  - a bunch of fragility tweaks and cleanup.

Co-authored by: Subramanya Sastry, Tim Starling, C.Scott Ananian

Change-Id: I3c2b7d0dc

11915 of 13997 relevant lines covered (85.13%)

19384.41 hits per line

Source Files on job 696.1
  • Tree
  • List 0
  • Changed 19
  • Source Changed 2
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 696
  • Travis Job 696.1
  • 9984d221 on github
  • Prev Job for on master (#695.1)
  • Next Job for on master (#697.3)
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