Thanks very much for the reply, Christian. You're absolutely right and it 
is the email send that is hanging. It works fine configured the same way 
outside of a Docker container. The odd thing is that after the hang and 
timeout the email does actually get delivered, so it's not a complete 
network failure.

I'll have to figure out what Docker is doing. Can you tell me anything 
about how RB sends the emails -- does it use some particular subsystem?

I tried setting uwsgi to use multiple processes but it didn't make a 
difference.

-- Ben.


On Tuesday, 1 October 2019 19:51:48 UTC+1, Christian Hammond wrote:
>
> Hi Ben,
>
> If this is happening at Publish time, then my first guess would be that 
> something is going wrong with sending an e-mail. That, or custom WebHooks, 
> are the only blocking operations that exist in the publish process (we do 
> want to make these non-blocking in the future, fwiw).
>
> Try disabling e-mails entirely and see if that fixes the problem. WebHooks 
> as well, if they're configured.
>
> What concerns me a bit is the Connection Refused errors. I looked at the 
> Docker image and I suspect part of what's happening is that uwsgi (set up 
> in the image) is running multi-threaded but only with a single process. 
> This can lead to blocking issues. You're really going to want to update 
> that to use multiple processes, for things like this. Maybe start with 10, 
> go up from there. You'll have to determine what numbers are best for your 
> scale (and how many Docker instances you plan to run). It doesn't look like 
> the image natively supports customizing this, so you'll probably have to 
> fork the image.
>
> Christian
>
> On Thu, Sep 26, 2019 at 8:39 AM Ben ST <b...@cantab.net <javascript:>> 
> wrote:
>
>> I have installed ReviewBoard using Docker and the ikatson/reviewboard 
>> image. I thought it was all working and some small test diffs I posted 
>> worked fine. Then when we tried to use some real diffs that were a bit 
>> larger, ReviewBoard shows "Saving" for a long time (~60 seconds) and gives 
>> a "HTTP 0" error. See attached screen shot.
>>
>> This is not a stupidly large diff. It's around 50 files, and an attached 
>> 6MB movie. The diff upload itself, and attaching the movie, work fine. The 
>> error happens when you try to publish. I am using HTTP on port 8000.
>>
>> Does anyone know what is causing this? Thanks.
>>
>> ReviewBoard log:
>>
>> 2019-09-26 11:23:59,273 - INFO -  - root - Reloading logging settings
>> 2019-09-26 11:24:02,977 - DEBUG - None - bestave - 
>> /reviews/r/1/_fragments/diff-comments/1/ - root - Begin: Generating diff 
>> file info for diffset id 1, filediff 2
>> 2019-09-26 11:24:03,632 - DEBUG - None - bestave - 
>> /reviews/r/1/_fragments/diff-comments/1/ - root - End: Generating diff file 
>> info for diffset id 1, filediff 2
>> 2019-09-26 11:24:03,633 - DEBUG - None - bestave - 
>> /reviews/r/1/_fragments/diff-comments/1/ - root - Generating diff file info 
>> for diffset id 1, filediff 2 took 0.655330 seconds
>> 2019-09-26 11:25:17,069 - DEBUG -  - root - Calculated issue counts for 
>> review request ID 1 across 1 review(s): Resulting counts = {u'A': 0, u'B': 
>> 0, u'R': 0, u'D': 0, u'O': 1}; DB values = 
>> [{u'screenshot_comments__issue_status': None, 
>> u'general_comments__issue_opened': True, u'file_attachment_comments__pk': 
>> None, u'screenshot_comments__issue_opened': None, u'comments__pk': None, 
>> u'general_comments__pk': 1, u'comments__issue_opened': None, 
>> u'general_comments__issue_status': u'O', 
>> u'file_attachment_comments__issue_opened': None, 
>> u'screenshot_comments__pk': None, u'comments__issue_status': None, 
>> u'file_attachment_comments__issue_status': None}]; Field IDs = 
>> {u'screenshot_comments': set([]), u'general_comments': set([1]), 
>> u'comments': set([]), u'file_attachment_comments': set([])}
>>
>>
>> Chrome console (also in a screen shot):
>> base.min.af574b99af97.js:3 [Deprecation] The Notification API may no 
>> longer be used from insecure origins. You should consider switching your 
>> application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz 
>> for more details.
>> setup @ base.min.af574b99af97.js:3
>> :8000/reviews/api/review-requests/1/reviews/draft/?1569497084270&api_format=json&force-text-type=html&include-text-types=raw%2Cmarkdown:1
>>  
>> Failed to load resource: the server responded with a status of 404 (NOT 
>> FOUND)
>> reviews.min.62c9e1499e46.js:5 Failed to save review Arguments(2)0: r 
>> {cid: "c20", attributes: {…}, _changing: false, _previousAttributes: {…}, 
>> changed: {…}, …}attributes: {parentObject: r, publishToOwnerOnly: false, 
>> forceTextType: "html", shipIt: false, public: true, …}changed: {}cid: 
>> "c20"extraData: r {cid: "c21", attributes: {…}, _changing: false, 
>> _previousAttributes: {…}, changed: {…}, …}id: 2validationError: 
>> null_changing: false_events: {saving: Array(1), destroying: Array(1), 
>> saved: Array(3), destroyed: Array(1), publishError: Array(1), 
>> …}_listenerId: "l70"_listeners: {l22: r}_needDraft: false_pending: 
>> false_previousAttributes: {parentObject: r, publishToOwnerOnly: false, 
>> forceTextType: "html", shipIt: false, public: true, …}__proto__: r1: 
>> {readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, 
>> setRequestHeader: ƒ, overrideMimeType: ƒ, …}callee: (...)length: 
>> 2Symbol(Symbol.iterator): ƒ values()get callee: ƒ ()set callee: ƒ 
>> ()__proto__: Object
>> error @ reviews.min.62c9e1499e46.js:5
>> :8000/reviews/api/review-requests/1/reviews/2/:1 Failed to load resource: 
>> net::ERR_EMPTY_RESPONSE
>> :8000/reviews/api/review-requests/1/last-update/?api_format=json:1 Failed 
>> to load resource: net::ERR_CONNECTION_REFUSED
>>
>>
>> -- 
>> Supercharge your Review Board with Power Pack: 
>> https://www.reviewboard.org/powerpack/
>> Want us to host Review Board for you? Check out RBCommons: 
>> https://rbcommons.com/
>> Happy user? Let us know! https://www.reviewboard.org/users/
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Review Board Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to revie...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/reviewboard/f3c23013-c624-4ada-a71c-ac6e6585eb5e%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/reviewboard/f3c23013-c624-4ada-a71c-ac6e6585eb5e%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Christian Hammond
> President/CEO of Beanbag <https://www.beanbaginc.com/>
> Makers of Review Board <https://www.reviewboard.org/>
>

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/reviewboard/801d32d3-5285-4427-8388-cfa7a42834ae%40googlegroups.com.

Reply via email to