Commit Graph

1368 Commits

Author SHA1 Message Date
David Anderson 8ab95a6db9 - scheduler: fix earlier fix to HR race condition.
I was doing "careful update" but not checking
    that the # of affected rows is 1

svn path=/trunk/boinc/; revision=14757
2008-02-18 04:57:27 +00:00
David Anderson 0bcaa761f0 - rename cgi.log to scheduler.log
- fix ops login

svn path=/trunk/boinc/; revision=14747
2008-02-15 15:25:44 +00:00
David Anderson a323eba986 - scheduler: fix bone-head mistake in HR code
svn path=/trunk/boinc/; revision=14715
2008-02-10 05:17:57 +00:00
David Anderson f77420c2c0 - scheduler: do "careful update" of workunit.hr_class
in case someone else changed since we read it.
    Hopefully this will fix a race condition
    where WU results get sent to different HR classes.
    (Alternatively we could use transactions,
    or acquire the semaphore during read/update,
    but this could impact performance).

svn path=/trunk/boinc/; revision=14710
2008-02-08 17:20:09 +00:00
David Anderson 4d3e96263b - delete_file: fix bugs and info text
Fixes #551 (from Nicolas)

svn path=/trunk/boinc/; revision=14684
2008-02-06 00:25:34 +00:00
David Anderson dcb2c614a4 - trickle handler: make it compile, and add to Makefile.am
(from Eric Myers)

svn path=/trunk/boinc/; revision=14680
2008-02-05 23:30:28 +00:00
David Anderson a1664cc070 - scheduler: simplified Carl's checkin (avoid virtual destructors)
- API: small tweak for standalone

svn path=/trunk/boinc/; revision=14679
2008-02-05 21:26:43 +00:00
David Anderson 94fdec8b70 - scheduler: send log messages to file, rather than httpd error log,
when using FCGI (from Carl Christensen)

svn path=/trunk/boinc/; revision=14678
2008-02-05 20:16:57 +00:00
David Anderson 7ea74282f4 - client: limit global prefs mod time to now
- server: limit global prefs mod time to now
    These changes address the situation where a server
    sends out prefs with mod time far in the future,
    and there's no way to undo them

svn path=/trunk/boinc/; revision=14664
2008-02-03 21:46:30 +00:00
David Anderson f2761c6f68 - scheduler: get FCGI version to compile
svn path=/trunk/boinc/; revision=14621
2008-01-24 20:22:54 +00:00
David Anderson 50151b1886 - scheduler: if get request w/o host ID,
use most recently created host with same domain name,
    IP addr, OS name, and CPU model, if one exists.
    (from Kevin Reed)

svn path=/trunk/boinc/; revision=14597
2008-01-18 20:29:53 +00:00
David Anderson ea8914e7d1 - scheduler: fix weak auth bug
svn path=/trunk/boinc/; revision=14552
2008-01-14 19:59:16 +00:00
David Anderson 2737ab1be7 - scheduler: forgot to add a couple of files
svn path=/trunk/boinc/; revision=14547
2008-01-14 17:17:44 +00:00
David Anderson 8490214d48 - server/web: the weak auth scheme had a major flaw:
It didn't work on a host's first scheduler RPC
    (when it passes an auth but no host ID).
    How do we look up user in this case?
    The weak auth is not stored explicitly in the DB.
    Solution: include the user ID in the weak auth.
    (this invalidates existing weak auths)

svn path=/trunk/boinc/; revision=14546
2008-01-14 16:32:34 +00:00
David Anderson 2be6f8e53a - Client: add <run_apps_manually> config flag.
This is for debugging apps (currently works only in Unix).
    What it does: when running an app,
    the client does everything except actually fork/exec the app,
    i.e. it sets up the slot dir, creates shared mem segment etc.
    It then continues as if the app were actually running,
    and you can then manually run your app under a debugger
    in the slot directory.
    Note: the client won't notice the termination of your app.
- API, Unix: in situations where the timer thread wants to exit
    (e.g. it notices a missing heartbeat).
    don't directly call boinc_exit(),
    since this touches data structures that the worker thread
    may be using concurrently.
    Instead, set a flag telling the worker thread to call boinc_exit()
    (which it will do from its signal handler)
    This is an attempt to fix problems reported by Bernd;
    I haven't tested it.
- scheduler: add config flag for uploading usage data
- web: show account key and weak account key on user page
- added some code for multithread support (not finished)

api/
    boinc_api.C


svn path=/trunk/boinc/; revision=14542
2008-01-13 00:12:14 +00:00
David Anderson d9a663a42e - API: call update_app_progress() only from the timer thread.
Previously it was called from both timer and worker thread,
    with no synchronization.  Bad.
    boinc_finish(): sleep for 2 seconds, enough to ensure that
    the timer thread sends the final messages.
- API: a compile flag GETRUSAGE_IN_TIMER_THREAD selects
    how to get CPU time; by default set only for Mac OS X
- scheduler: cap #CPUs scaling for <max_wus_per_host> at 8

svn path=/trunk/boinc/; revision=14495
2008-01-08 18:58:44 +00:00
David Anderson 300d3ed48f - scheduler: change <max_wus_in_progress> to be per CPU, not per host
svn path=/trunk/boinc/; revision=14475
2008-01-06 22:23:51 +00:00
David Anderson f125e7e2de - web: don't require login for show_user.php
- web: add app selection to example project-specific prefs
    (commented out by default)
- web: in prefs, flag too-low numeric values as errors,
    rather than just setting to min value
- web: fix bug when add new venue from "columns" view

svn path=/trunk/boinc/; revision=14442
2007-12-24 21:34:21 +00:00
David Anderson 1069770a7f - compile fixes for gcc 4.3 (from Frank Thomas)
Fixes #514

svn path=/trunk/boinc/; revision=14436
2007-12-21 21:09:40 +00:00
David Anderson 9248b47032 - API: check for messages from client 10X a second;
this will allow smoother CPU throttling
- delete_file: bug fixes (from Nicolas Alvarez).  Fixes #78

svn path=/trunk/boinc/; revision=14434
2007-12-21 20:57:48 +00:00
David Anderson 820eb30596 - compile fixes
svn path=/trunk/boinc/; revision=14373
2007-12-10 22:13:48 +00:00
David Anderson 3f41f9a88d - Add weak account key mechanism.
Each account has an associated weak account key.
    The user can see it by visiting weak_auth.php.
    If you put the weak account key in the account file on a computer
    (instead of the regular account key)
    the computer will attach to the account.
    But the weak account key cannot be used to log in
    to the account on the web, or to do web RPCs, or anything else.

    Note: this involves a scheduler change.

svn path=/trunk/boinc/; revision=14367
2007-12-07 23:23:25 +00:00
David Anderson df8cbdb294 - scheduler:
- if WU is infeasible, print message instead of number
    - remove useless messages
    - remove EDF simulations printfs
    - don't update nresults_on_host in resend_lost_work()
        (it's already done in add_result_to_reply())

svn path=/trunk/boinc/; revision=14336
2007-11-30 23:02:55 +00:00
David Anderson 6efd83fb4c - user web: send UOTD email using PHPMailer if available
- user web: don't show team forum in Q&A page
- scheduler: code (commented out) to recognize when
    a sched request is from an existing host
    (same IP/domain/RAM size) and reuse the host record;
    from Kevin Reed

svn path=/trunk/boinc/; revision=14283
2007-11-22 01:52:27 +00:00
David Anderson 618a5c1651 - assimilator: there was a bug in the situation where:
1) a WU is marked as ready for assimilation and has no errors;
    2) it has no canonical result
    In this case, the assimilate handler gets called anyway,
    typically with the canonical result of the previous WU as arg.
    Note: this situation doesn't arise normally;
    it might happen if some results are deleted accidentally.
    The fix: 
    - identify this situation, and set the WU.error_mask to a new code
        (WU_ERROR_NO_CANONICAL_RESULT)
    - zero out the "canonical_result" variable passed to the handler,
        so even if the handler fails to check wu.error_mask,
        at least it won't assimilate the same result twice.
    Thanks to Hendrik Verhoek for finding this bug.
- DB schema: team table type is MyISAM, not InnoDB

svn path=/trunk/boinc/; revision=13938
2007-10-23 17:11:56 +00:00
Frank Thomas 19db1ebe51 Added note to sched/fcgi*.h that the file LICENSE.TERMS, on which is referred
to in these files, is not included in the BOINC sources but is available
online.

svn path=/trunk/boinc/; revision=13876
2007-10-17 09:14:33 +00:00
David Anderson 028544e184 - API: get rid of getrusage_mutex to synchronize calls to getrusage()
and access to worker_thread_ru.
    This was being used in the worker signal handler,
    which is bad because pthread_mutex_lock() can allocate memory.
    I don't think this matters; at worst we might get
    CPU times off by < 1 sec.

svn path=/trunk/boinc/; revision=13844
2007-10-12 19:28:30 +00:00
Frank Thomas 6d341df856 Remove the symlinks status and stop on "make clean".
svn path=/trunk/boinc/; revision=13834
2007-10-11 13:24:22 +00:00
Rom Walton 38d4aecc0b Delete outdated .cvsignore files
svn path=/trunk/boinc/; revision=13814
2007-10-09 18:03:21 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
David Anderson bb5f54d31f - feeder/scheduler: fix bug where APP.homogeneous_redundancy
is defined as a bool instead of int
    (see its only nonzero value is 1, so the "coarse" HR type is ignored).

svn path=/trunk/boinc/; revision=13786
2007-10-05 22:32:47 +00:00
David Anderson 64db0fa655 - scheduler: bug fix in HR code:
in wu_is_infeasible(), check whether host type is unknown
    before seeing if WU is already committed  to different type

svn path=/trunk/boinc/; revision=13777
2007-10-04 21:55:37 +00:00
David Anderson 066f01dc26 - Terminology in user web and client:
"task" instead of "result";
    "computer" instead of "host";
    "scheduler request" instead of "scheduler RPC"
    "access to Internet" instead of "access to reference web site"

svn path=/trunk/boinc/; revision=13774
2007-10-04 17:30:28 +00:00
Eric J. Korpela 8403c6f570 Fixed build on systems without <malloc.h>
svn path=/trunk/boinc/; revision=13768
2007-10-03 16:19:45 +00:00
David Anderson a1590ff580 - scheduler: <max_wus_in_progress> option wasn't working,
because the reply.req structure was getting zeroed
    AFTER nresults_on_host was being set.


svn path=/trunk/boinc/; revision=13712
2007-09-28 18:27:02 +00:00
David Anderson 505d04969a - file upload handler: fix major bug (introducted 12 Sept)
that caused it to report "volume full" erroneously
- added --help option to some backend programs;
    gives general info and directs to web page
    file_upload_handler.C

svn path=/trunk/boinc/; revision=13685
2007-09-27 15:08:40 +00:00
David Anderson 227f9e6dd4 - use safe_strcpy() instead of strcpy() in a few places
in the client and db_dump
- scheduler: change REQ_FILE_PREFIX to use ../ instead of /tmp/
                 

svn path=/trunk/boinc/; revision=13646
2007-09-24 22:57:00 +00:00
David Anderson 513fa98c55 - user web: add links to BOINC-wide team sites
and www.boincteams.com from Team management page
- client: change error strings from, e.g.,
    "system chown" to "chown() failed"

svn path=/trunk/boinc/; revision=13644
2007-09-24 20:13:38 +00:00
Bruce Allen 76c3c6a46e Eliminate more logging noise from the scheduler (complaints
about unrecognized tags).

svn path=/trunk/boinc/; revision=13640
2007-09-24 06:54:01 +00:00
Bruce Allen c3eff600ff Eliminate some logging noise from the scheduler (complaints
about unrecognized tags).

svn path=/trunk/boinc/; revision=13639
2007-09-23 21:38:47 +00:00
David Anderson bc5b979afb - Added new script "update_versions_v6"; use this instead of
update_versions to add version 6 apps.
    It looks for API_VERSION string in main executable,
    adds the API version to the app_version XML,
    and sets min_core_version to 6 for version 6+ apps
- API: include API_VERSION string
- convert tabs to spaces here and there
- scheduler: parse unused elements in <net_stats>
- ops/show_log.php: if no URL args, just show form (fixes #415)
- client: parse and store api_version (not used yet)

svn path=/trunk/boinc/; revision=13627
2007-09-21 18:10:54 +00:00
Bruce Allen 6b1aa1cdf2 - scheduler: added config option to control (turn off) some aspects
of file deletion. If you set file_deletion_strategy to 0 (default)
      then this turns off file deletion in the locality scheduler.
      Set file_deletion_strategy to 1 to get current behavior.  Other
      values are not defined.  I'll document this in the Wiki.

    sched/
        sched_config.h
        sched_config.C
        sched_locality.C

svn path=/trunk/boinc/; revision=13594
2007-09-17 15:58:36 +00:00
David Anderson c0c6cf779d - file upload handler:
in get_file_size() RPC, check if volume has < 1MB available space
    and if so return transient error.
    This prevents client from trying upload,
    which apparently sends entire file even if
    handler fails at the beginning
- API, Win: remove use of GetTickCount(); use dtime() instead
- use new BOINC logo in sample project home page

svn path=/trunk/boinc/; revision=13574
2007-09-12 08:25:22 +00:00
David Anderson 0505c15ec8 - boinc_cmd: improve output of --help
- scheduler: remove giant log output when use <workload_sim>
- db_purge: fix crash if nothing logged

svn path=/trunk/boinc/; revision=13556
2007-09-08 21:34:20 +00:00
David Anderson c99833a7c9 - scheduler: don't show resource share in msgs in cases where
it's not used.
- db_purge: add "no_archive" option

svn path=/trunk/boinc/; revision=13430
2007-08-21 20:07:50 +00:00
David Anderson 4e1f0b7019 - client: add a <data_dir> option in cc_config.xml;
tells the client to use this as the data directory
- scheduler: improve the message telling the client that
    more disk or memory is needed;
    tell them the minimum amount needed to
    send any of the jobs rejected,
    rather than the amount needed for the first job rejected
- manager: fix text in "connect now" dialog

svn path=/trunk/boinc/; revision=13387
2007-08-16 17:33:41 +00:00
David Anderson 71fc375d1b - feeder: created shared mem seg with 0666 rather than 0660.
In principle 0660 should work (assuming apache belongs to admin group)
    but apparently on some Linux systems it doesn't,
    and the feeder gets "can't attach to shared mem" errors.
- scheduler: print uid/gid info if can't attach to shared mem
- user web: fix bug in team founder transfer form

svn path=/trunk/boinc/; revision=13255
2007-08-01 15:35:08 +00:00
David Anderson c38c8fc4df - sample app: adapt the one from boinc_samples
svn path=/trunk/boinc/; revision=13199
2007-07-20 18:47:52 +00:00
David Anderson 30ec49bba6 svn path=/trunk/boinc/; revision=13173 2007-07-17 21:12:59 +00:00
David Anderson 2d74b133a1 - scheduler: move startup checks (stop_sched, shmem) inside FCGI loop.
Hopefully this will make it feasible to run scheduler
    even when project is down.
- lib: fix cygwin build error

svn path=/trunk/boinc/; revision=13172
2007-07-17 20:34:37 +00:00