← Back to team overview

launchpad-dev team mailing list archive

Re: Request for brainjuice: bug 194558

 

Hi Graham,

tl;dr  Thanks for looking in this issue.
I think the let's upload to twisted is a big hand wave at the moment and
we should probably investigate why apache is failing.

I don't understand how allowing direct upload to the librarian would
solve this bug. It might, but I think there are quite a few loose ends
that need to be connected first.

For reminder, the problem is that the file upload form fails at the
apache level in some nebulous but - not so uncommon - cases. That form
handles upload both the content (which ends up in the librarian) and the
metadata (creating the release and linking it to the file content).

So loose ends:

  * As a general deployment aren't we always running apache in front of
    twisted? So uploading to the librarian would fail similarly than
    now.

  * It's interesting that users report that creating the release using
    the API script doesn't suffer from this bug. In which case, this
    might point to a apache <-> browser bad interaction.

  * How are we going to handle the cross domain issue (loads from
    launchpad.net, posts to launchpadlibrarian.net - without going
    through apache?)

  * Are we going to write a "specific" view in twisted to take care of
     all the data handled by this form. Or more specifically, devise a
     generic protocol where once the content is stored, the librarian
     redirect to the real view with the file alias reference + the
     other metadata originally passed in)?

And I'm pretty sure that "solutions" to any of these problems will open
up a bunch of other issues. Making that path really too much for what we
are trying to achieve (work-around a weird apache bug).

Simpler fix:

  * See if playing if timeouts on apache change the behavior.

  * Change (or make an alternative yui-based upload form) that uses the
    yui flash-based upload widget (maybe the flash http doesn't
    trigger the apache bug, like the launchpadlib script does).

  * Just add warnings to users that they use the launchpadlib script if
    they encounter repeated upload errors.

Cheers
On 11-10-03 01:13 PM, Graham Binns wrote:
> Calling all folks, hello folks...
> 
> I've been staring at bug 194558 (Project file uploads time-out but don't
> OOPS)[1] for the last few days. The problem is twofold:
> 
>  1. Uploads occasionally fail at the Apache level - i.e. Apache has the
>     upload but can't pass it on to the appserver.
>  2. We don't get OOPSes when this happens.
> 
> I've been looking at problem #1 (even though #2 is probably the easier
> to fix). Our fearless TA made the following suggestion, complete with
> hand-waving, in the bug comments [2]:
> 
>> It may be easiest to fix this by moving uploads out of the zope
>> appservers, which our infrastructure is not geared around supporting
>> big uploads too. E.g. upload directly to the librarian, then register
>> the content with LP (/handwave)
> 
> And I'm interested in investigating this further. As far as I can tell,
> we have the following issues to solve:
> 
>  1. How do we upload directly to the librarian from the browser? (AIUI
>     the librarian uses an almost-but-not-quite-HTTP-like protocol, which
>     makes things awkward, but if I've misunderstood then please feel
>     free to tell me and so make me very happy).
>  2. How do we register the content with LP once the upload has
>     completed? (The answer that both Gary and I have arrived at involves
>     the words "hey, look at this RabbitMQ thing over here...")
> 
> Really, I'm looking for any information that anyone has on how the
> Librarian works, since I don't have a great understanding of it. If I'm
> wrong about the protocol then this is a relatively simple bug to fix. If
> I'm right then I suspect I'll need your help to work it out.
> 
>  [1] https://bugs.launchpad.net/launchpad/+bug/194558
>  [2] https://bugs.launchpad.net/launchpad/+bug/194558/comments/6
> 


-- 
Francis J. Lacoste
francis.lacoste@xxxxxxxxxxxxx

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References