Changes between Version 6 and Version 7 of BackendState


Ignore:
Timestamp:
01/08/08 10:35:52 (10 years ago)
Author:
jeffc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BackendState

    v6 v7  
    2929=== `assimilate_state` === #wu_assimilate_state
    3030Indicates whether the workunit should be assimilated.
    31  * Initially INIT.
    32  * Set to READY by transitioner if wu.assimilate_state = INIT and WU has error condition.
    33  * Set to READY by validator when find canonical result and wu.assimilate_state = INIT.
    34  * Set to DONE by assimilator when done.
     31 * Initially INIT (0).
     32 * Set to READY (1) by transitioner if wu.assimilate_state = INIT and WU has error condition.
     33 * Set to READY (1) by validator when find canonical result and wu.assimilate_state = INIT.
     34 * Set to DONE (2) by assimilator when done.
    3535
    3636=== `need_validate` === #wu_need_validate
     
    4343A bit mask for error conditions.
    4444 * Initially zero.
    45  * Transitioner sets COULDNT_SEND_RESULT if some result couldn't be sent.
    46  * Transitioner sets TOO_MANY_RESULTS if too many error results.
    47  * Transitioner sets TOO_MANY_TOTAL_RESULTS if too many total results.
    48  * Validator sets TOO_MANY_SUCCESS_RESULTS if no consensus and too many success results.
     45 * Transitioner sets COULDNT_SEND_RESULT (1) if some result couldn't be sent.
     46 * Transitioner sets TOO_MANY_RESULTS (2) if too many error results.
     47 * Validator sets TOO_MANY_SUCCESS_RESULTS (4) if no consensus and too many success results.
     48 * Transitioner sets TOO_MANY_TOTAL_RESULTS (8) if too many total results.
    4949
    5050=== Workunit invariants === #wu_invariants
     
    6767=== `server_state` === #result_server_state
    6868Values: UNSENT, IN_PROGRESS, OVER
    69  * Initially UNSENT.
    70  * Set by scheduler to IN_PROGRESS when send result.
    71  * Set by scheduler to OVER when result is reported in request message from client.
    72  * Set by scheduler to OVER when it thinks host has detached project.
    73  * Set by transitioner to OVER if now > result.report_deadline.
    74  * Set by transitioner to OVER if WU has error condition and result.server_state = UNSENT.
    75  * Set by validator to OVER if WU has canonical result and result.server_state = UNSENT.
     69 * Initially UNSENT (2).
     70 * Set by scheduler to IN_PROGRESS (4) when send result.
     71 * Set by scheduler to OVER (5) when result is reported in request message from client.
     72 * Set by scheduler to OVER (5) when it thinks host has detached project.
     73 * Set by transitioner to OVER (5) if now > result.report_deadline.
     74 * Set by transitioner to OVER (5) if WU has error condition and result.server_state = UNSENT.
     75 * Set by validator to OVER (5) if WU has canonical result and result.server_state = UNSENT.
    7676
    7777=== `outcome` === #result_outcome
    7878Values: SUCCESS, COULDNT_SEND, CLIENT_ERROR, NO_REPLY, DIDNT_NEED, VALIDATE_ERROR, CLIENT_DETACHED. Defined iff result.server_state = OVER
    79  * Set by scheduler to SUCCESS if get reply and no client error.
    80  * Set by scheduler to CLIENT_ERROR if get reply and client error.
    81  * Set by scheduler to NO_REPLY if it thinks host has detached project.
    82  * Set by transitioner to NO_REPLY if server_state = IN_PROGRESS and now < report_deadline.
    83  * Set by transitioner to DIDNT_NEED if WU has error condition and result.server_state = UNSENT.
    84  * Set by validator to DIDNT_NEED if WU has canonical result and result.server_state = UNSENT.
    85  * Set by validator to VALIDATE_ERROR if outcome was initially SUCCESS, but the validator had a permanent error reading a result file, or a file had a syntax error. Prevents the validator from trying again.
    86  * Set by scheduler to CLIENT_DETACHED if it gets a request indicating that the client detached, then reattached.
     79 * Set by scheduler to SUCCESS (1) if get reply and no client error.
     80 * Set by scheduler to CLIENT_ERROR (3) if get reply and client error.
     81 * Set by scheduler to NO_REPLY (4) if it thinks host has detached project.
     82 * Set by transitioner to NO_REPLY (4) if server_state = IN_PROGRESS and now < report_deadline.
     83 * Set by transitioner to DIDNT_NEED (5) if WU has error condition and result.server_state = UNSENT.
     84 * Set by validator to DIDNT_NEED (5) if WU has canonical result and result.server_state = UNSENT.
     85 * Set by validator to VALIDATE_ERROR (6) if outcome was initially SUCCESS, but the validator had a permanent error reading a result file, or a file had a syntax error. Prevents the validator from trying again.
     86 * Set by scheduler to CLIENT_DETACHED (7) if it gets a request indicating that the client detached, then reattached.
    8787
    8888=== `client_state` === #result_client_state
     
    9090
    9191=== `file_delete_state` === #result_file_delete_state
    92  * Initially INIT.
    93  * Set by transitioner to READY if this is the canonical result, and file_delete_state = INIT, and wu.assimilate_state = DONE, and all the results have server_state = OVER, and all all the results with outcome = SUCCESS have validate_state <> INIT.
    94  * Set by transitioner to READY if wu.assimilate_state = DONE and result.outcome = CLIENT_ERROR or result.validate_state != INIT.
     92 * Initially INIT (0).
     93 * Set by transitioner to READY (1) if this is the canonical result, and file_delete_state = INIT, and wu.assimilate_state = DONE, and all the results have server_state = OVER, and all all the results with outcome = SUCCESS have validate_state <> INIT.
     94 * Set by transitioner to READY (1) if wu.assimilate_state = DONE and result.outcome = CLIENT_ERROR or result.validate_state != INIT.
    9595
    9696=== `validate_state` === #result_validate_state
    9797Defined iff result.outcome = SUCCESS
    98  * Initially INIT.
    99  * Set by validator to VALID if outcome = SUCCESS and matches canonical result.
    100  * Set by validator to INVALID if outcome = SUCCESS and doesn't match canonical result.
    101  * Set by transitioner to NO_CHECK if the WU had an error; this avoids showing claimed credit as 'pending'.
     98 * Initially INIT (0).
     99 * Set by validator to VALID (1) if outcome = SUCCESS and matches canonical result.
     100 * Set by validator to INVALID (2) if outcome = SUCCESS and doesn't match canonical result.
     101 * Set by transitioner to NO_CHECK (3) if the WU had an error; this avoids showing claimed credit as 'pending'.
    102102 * Set by validator to ERROR if outcome = SUCCESS and had a permanent error trying to read an output file, or an output file had a syntax error.
    103  * Set by validator to INCONCLUSIVE if check_set() didn't find a consensus in a set of results containing this one.
    104  * Set by scheduler to TOO_LATE if the result was reported after the canonical result's files were deleted.
     103 * Set by validator to INCONCLUSIVE (4) if check_set() didn't find a consensus in a set of results containing this one.
     104 * Set by scheduler to TOO_LATE (5) if the result was reported after the canonical result's files were deleted.
    105105
    106106=== Result invariants === #result_invariants