Issue #2696

Pulp streamer not 'streaming' content to squid

Added by alexjfisher over 3 years ago. Updated about 1 year ago.

Start date:
Due date:
Estimated time:
2. Medium
Version - Nectar:
Platform Release:
Target Release - Nectar:
CentOS 7
Sprint Candidate:
Pulp 2



I'm trying to get on_demand repos working.

I've got a very slow internet connection (2Mbit shared), which isn't helping, but I think pulp streamer isn't actually streaming data to squid. Instead, it appears to send all the data to squid after it's fetched it all itself.

When a client tries to download a large file (eg squashfs.img), the first problem it hits, is the 1 minute default proxy read timeout in apache. After increasing that (ProxySet connectiontimeout=60 timeout=3600), the next thing to timeout waiting for data is squid. It's default read_timeout is 10 minutes.

My understanding is that pulp_streamer should be streaming data to squid and as long as bytes are being received, squid nor apache should abort with read timeouts.

Related issues

Is duplicate of Nectar - Issue #2235: Download progress won't stream to clientsCLOSED - DUPLICATE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision f0f66d38 View on GitHub
Added by alexjfisher about 3 years ago

Re-enable request streaming

This got accidentally turned off in

fixes #2696


#1 Updated by alexjfisher over 3 years ago

Sorry, was in a big rush earlier. A few more details...

Pulp version 2.12.1 on Centos 7. Installed using Puppet's configuration of apache and squid look reasonable. They match the documentation anyway!

Upstream feed URL is and all internet access is via a corporate squid (non-caching, whitelist only) proxy.

Upstream proxy seems to be well behaved (manual downloads through it work fine, if slowly). I can't bypass it, so ruling it out 100% isn't going to be easy.

I've being using curl to test fetching on_demand (and not yet downloaded!) files. Using tcpdump, I can see data flowing from the corporate proxy into pulp_streamer, but I can't see anything between pulp_streamer and pulp's squid instance. Curl sits there receiving 0bps until it either suddenly starts to very quickly download the file, or a read timeout occurs (in apache or squid depending on how I've been fiddling with their read timeout settings.)

Meanwhile (and maybe not that important), every 10 minutes (default setting), the deferred download task thing triggers and tries to download the files (expecting that squid will probably have cached them). It hasn't, so the task also waits for squid to (hopefully) eventually get given the content from pulp_streamer. Unlike curl, the worker times out after 27 seconds. It tries a few times before giving up. I'm not sure, but I'm hoping each of these tries hasn't actually triggered pulp_streamer into opening another connection to

I also played with the download_concurrency setting.
Lowering the server.conf lazy download_concurrency from 5 to 2 seemed to help a bit. I guess I made a bit more out of my limited bandwidth.

Hopefully I've provided enough that someone might be able to reproduce some of these issues? Let me know if there's anything else I can provide or check. I'm afisher on freenode IRC.


#2 Updated by alexjfisher over 3 years ago

  • OS set to CentOS 7

#3 Updated by alexjfisher over 3 years ago

I have also tried each of the following.

No improvement. pulp-streamer still doesn't stream :(

#6 Updated by over 3 years ago

  • Status changed from NEW to POST
  • Assignee set to alexjfisher

#7 Updated by alexjfisher over 3 years ago

  • Version - Nectar set to 1.5.3

#8 Updated by alexjfisher over 3 years ago

Other relevant versions are...

python-urllib3 1.10.2-2.el7_1
python-requests 2.6.0-1.el7_1

both from

#9 Updated by alexjfisher over 3 years ago

  • Is duplicate of Issue #2235: Download progress won't stream to clients added

#11 Updated by alexjfisher about 3 years ago

  • Status changed from POST to MODIFIED

#12 Updated by bizhang about 3 years ago

  • Platform Release set to 2.13.1
  • Target Release - Nectar set to 1.5.4

#13 Updated by bmbouter about 3 years ago

  • Status changed from MODIFIED to CLOSED - DUPLICATE

Since this does seem like a duplicate, I'm going to close it as such. Once the fix for Issue 2696 is into a build, if the reporter (or anyone) can reproduce this issue, please post a comment and we can reopen.

#14 Updated by bmbouter about 3 years ago

  • Status changed from CLOSED - DUPLICATE to ON_QA

This should not have been closed. It was accidentally closed because of the 'duplicates' relationship with Issue 2235. Hopefully reopening won't re-open both of them.

#15 Updated by alexjfisher about 3 years ago

Tested fix by installing latest nectar rpm (on a pulp 2.12.2 system)
yum install

New build contains fix and streaming works fine.

#16 Updated by bizhang about 3 years ago

  • Status changed from ON_QA to CLOSED - CURRENTRELEASE

#17 Updated by bmbouter about 1 year ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF