Changes between Version 6 and Version 7 of shepherding_the_pstamp_server
- Timestamp:
- Jun 23, 2011, 1:21:13 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
shepherding_the_pstamp_server
v6 v7 12 12 13 13 Each file is represented in the database by a row in the table pstampRequest. The request starts 14 life in state 'new'. Once it is done parsing the state is set to 'run'. Request files are parsed into jobs by the task pstamp.job.run. The working directory for a request is /data/ipp db02.0/pstamp/work/$datestr/$req_id.14 life in state 'new'. Once it is done parsing the state is set to 'run'. Request files are parsed into jobs by the task pstamp.job.run. The working directory for a request is /data/ippc17.0/pstamp/work/$datestr/$req_id. 15 15 16 16 For example here is the entry for a request while it is being parsed … … 32 32 Each row in the request table contains a request specification. Each row causes one or more pstampJobs to 33 33 be entered into the database. Jobs are often entered with state = 'stop' and fault > 10. These are due 34 to requests wanting images that haven't been destreaked or have been purged, bycoord requests that 35 have no images or errors in the request. The set of errors is listed at the bottom of this page. 34 to requests for images that can not be satisfied. The set of errors is listed at the bottom of this page. 36 35 37 Once the file has completed parsing successfully it's state is set to 'run'. Once the request is36 Once the request table has completed parsing successfully it's state is set to 'run'. Once the request is 38 37 in state run its jobs are eligible to run and will be output by pstamptool -pendingjob 39 38 … … 49 48 the outdir of the first request that needs the component. 50 49 51 Dependents can start being processed before parsing completes. The -pendingdependent query is52 53 54 {{{55 SELECT DISTINCT56 pstampDependent.*,57 IFNULL(Label.priority, 10000) AS priority58 FROM pstampDependent59 JOIN pstampJob USING(dep_id)60 JOIN pstampRequest USING(req_id)61 LEFT JOIN Label ON pstampRequest.label = Label.label62 WHERE pstampDependent.state = 'new'63 AND pstampDependent.fault = 064 AND pstampJob.state = 'run'65 AND (pstampRequest.state = 'run' OR pstampRequest.state = 'new')66 AND (Label.active OR Label.active IS NULL)67 ORDER BY priority DESC, req_id LIMIT 168 69 }}}70 71 50 72 51 … … 81 60 82 61 83 Since the postage stamp / data store database is on ipp db02and not ippdb0162 Since the postage stamp / data store database is on ippc17 and not ippdb01 84 63 some care must be taken when running commands. 85 64 86 I define the environment variable PSDBSERVER=ipp db02and the alias65 I define the environment variable PSDBSERVER=ippc17 and the alias 87 66 88 67 … … 119 98 120 99 Requests can fault for two reasons either at the parse stage or when finishing the request. Request 121 faults rarely happen and are usually due to software bug. pst -revertreq doesn't work for requests that 122 haven't finished parsing. (The scripts set the state to run when it shouldn't. I don't want to fix this 123 problem right now. I want to be sure I don't break anything). 100 faults rarely happen and are usually due to software bug. 124 101 125 102 Jobs can fault due to typical nfs errors. There is a revert task for jobs. It only resets jobs with 126 fault > 0 and < 10. Faults >= 10 are faults forthe users. Jobs which are faulted in this way should103 fault > 0 and < 10. Faults >= 10 are faults that are to be reported to the users. Jobs which are faulted in this way should 127 104 have had their state set to stop thus they are finished. 128 105 … … 167 144 to avoid faulted dependents from filling up the pantasks queue thus preventing other dependents from running. 168 145 169 Once the chip fault has been cleared 146 Later the dependent fault will be reverted and the dependency checking will run again. Hopefully the chip fault 147 will have reverted and finished. After some number of dependency faults (3 currently) the server gives up 148 and faults the job. 149 150 So if we have long periods of cluster trouble, postage stamp users will get lots of failed jobs. 170 151 171 152 … … 199 180 == Monitoring the Apache Server == 200 181 201 It is a good idea to check the Apache error log (/var/log/apace2/error_log) from time to time to look for unusual activity. On June 4 I found a user furtively looking for a results file for a request that was submitted May 24.182 It is a good idea to check the Apache error log (/var/log/apace2/error_log) from time to time to look for unusual activity. On June 4, 2010 I found a user furtively looking for a results file for a request that was submitted May 24, 2010. 202 183 203 184
