Opened 15 years ago

Closed 15 years ago

#932 closed Defect (fixed)

Change result upload retry policy from per task to per project

Reported by: Raistmer Owned by: davea
Priority: Major Milestone: Undetermined
Component: Client - Work Fetch Policy Version: 6.6.31
Keywords: Cc:

Description

Per task upload retry policy leads to kind of DoS attack from fast hosts in periods when project's server can't handle all incoming connections. When many results trying to resend themselves on it' own time schedule host _continually_ tries to connect to server, w/o any delays. With mny hundreds (and this number easely achievable now fro CUDA enabled hosts) of results in transfer queue there are always some that try to reach server at any given moment.

All that need to be done is to change retry policy from per task to per project basis (as it is for result reporting already). This inefficiency in BOINC leads to increase conncetion problems with overloaded project servers.

(I setted component as Work fetch policy as closest to this component. Actually it's work upload, not fetch, policy)

For more descriptions of this issue look this thread and links in it: http://boinc.berkeley.edu/dev/forum_thread.php?id=4080

Change History (2)

comment:1 in reply to:  description Changed 15 years ago by Raistmer

More clear description of proposed change in retry logic:

if last result sending for particular project was OK - do next result upload just when it will be available. else delay _ALL_ result uploads for this particular project for some time. repeat cycle.

comment:2 Changed 15 years ago by davea

Resolution: fixed
Status: newclosed

(In [18593]) - client: restored code for project-wide backoff on file

uploads and downloads. I originally added this on 30 Sept 2005 and disabled it 2 weeks later because there were reports of problems. However, we need this functionality (e.g. on GPU hosts with hundreds of files to upload, we need to back off after a few failures, not try all of them). I added messages (<file_xfer_debug>) so you can see what's going on. Fixes #932.

Note: See TracTickets for help on using tickets.