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

weldr / bdcs-api / 137 / 1
70%
master: 70%

Build:
DEFAULT BRANCH: master
Ran 10 May 2018 09:13PM UTC
Files 21
Run time 1s
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

10 May 2018 08:39PM UTC coverage: 72.381% (-0.2%) from 72.552%
137.1

push

travis-ci

clumens
Update the compose server to handle multiple simultaneous composes.

Much of the change in this patch is just removing the use of a TVar to
handle synchronization of the worklist between threads, replacing it
with a TMVar.  The TMVar supports retry operations critical for making
this work.

The other big change is replacing composesThread.  That code had a
single thread sitting and watching the worklist, waiting for something
to show up.  That organization made it difficult to have many composes
running at the same time.

Instead, I fork off a number of worker threads immediately.  They all
sit around watching the worklist, waiting for a compose request to
appear.  When a request does appear, a random worker thread will grab it
first and do the compose.  This means I don't ever need to worry about
the size of the in progress map, because the max number of composes
running at a time is constrained by how many workers are spawned.  It
also means the workers are less complicated.

For now, I am leaving max composes at 1.  I have tested two running at a
time, but only on the management side.  I don't know if what's going
into the composes is thread safe.  We need to check that before raising
this number or making it tunable by end users.

1575 of 2176 relevant lines covered (72.38%)

1.37 hits per line

Source Files on job 137.1
  • Tree
  • List 0
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 47
  • Travis Job 137.1
  • 7c27b230 on github
  • Prev Job for on master (#136.1)
  • Next Job for on master (#139.1)
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