When killing a job for timeout, check if a report exist before writing the fake-one
Remove Autoincrement check for MySQL

From the MySQL documentation:

```
InnoDB uses the following algorithm to initialize the auto-increment counter for a table t that contains an AUTO_INCREMENT column named ai_col: After a server startup, for the first insert into a table t, InnoDB executes the equivalent of this statement:

SELECT MAX(ai_col) FROM t FOR UPDATE;
InnoDB increments the value retrieved by the statement and assigns it to the column and to the auto-increment counter for the table. By default, the value is incremented by one.
...
If the table is empty, InnoDB uses the value 1.
```

In case of a server restart we have security that the auto-increment will be preserved to the max job_id present, the only case where removing this check might cause problems
is if the most recent workflow was deleted and so the index in wmbs_job is lower than before and then you restart MySQL before the TaskArchiver/CleanUpPoller cleans couch. To account for this, this patch adds support in CMSCouch to specify a callback function on conflicts during a commit or queue of documents. For the ChangeState, job and fwjr jobs document are overwritten when a conflict occurs without generating conflicts (i.e. not using all_of_nothing).

The benefit of this change is avoiding errors when the JobCreator is restarted after a couch crash.

Fixes #4005
fix the typo in the jobstatus
Implement checksums in LCGImpl backend module

Add support for verifying the adler32 checksum when available
through the lcg-ls -l command. Also add general support
for passing the locally calculated checksums of the files
to the StageOutImpl objects, this will enable the checksum
verification in the rfcp-CERN backend plugin as well.

For the LCGImpl plugin the checksum is obtained as follows:

echo "$LCG_OUTPUT" | sed -nr 's/^.*\s([a-f0-9]{8})\s*\([aA][dD][lL][eE][rR]32\)\s*$/\\1/p'

Where LCG_OUTPUT=`lcg-ls -l -b -D srmv2 <SURL> 2>/dev/null`

The expected format of LCG_OUTPUT is a multi-line string where one of the lines has the following format:

* Checksum: <8-hex character string> (ADLER32)

Or

* Checksum: <8-hex character string> (adler32)

If this line is not present then it is assumed that the checksum is not supported and the check is skipped,
but if a checksum is present then it will be compared and will fail with exit code 63011 if it doesn't match.
Error code is the same as for size mismatch.

Fixes #4185
Bugfix for wmagent config

The spec cache path was not correctly set by the mod-config
Merge pull request #4231 from dballesteros7/fix-wmagent-config-phedex

Bugfix for wmagent config
Revert "Ops ReqMgr interaction script, ProcConfigCacheID renaming"

This reverts commit d01c12d692825c485dab43849765e08e59d237ba.
0.9.27

Signed-off-by: Stephen Foulkes <sfoulkes@fnal.gov>
Revert "Revert "Ops ReqMgr interaction script, ProcConfigCacheID renaming""

This reverts commit 138bf6cf591a23af5cf99ff0d03d0ae1f9fbb0f2.
Remove updates in cancellation - stop conflicts
ReqMgr requests clone implemented.

A few functions / methods signatures changed in the ReqMgr files.
Requests clone implemented: PUT, /reqmgr/reqMgr/clone/requestName, unittest
for clone and reqmgr.py clone interface.
reqmgr.py has --allTests to run over everything the script is capable of for
testing.
Clone request shall fix: #3984, #3944
lexicon add dbs user
Bugfix StdBase DQMHarvest validation

Simply a code error
Allow arbitrary collection name on ACDC request

A CollectionName parameter can be specified in the request arguments
if not specified the  collection name defaults to the old request name
as it has done so far.
Fix error display in workload summary

Display all errors correctly

Fixes #4217
Make component sleeping configurable

Factor out the sleeping part of the component of the component harness.
In some cases, simply sleeping isn't the best idea, this change makes it
so subclasses of BaseWorkerThread can choose how they sleep.
Merge pull request #4240 from dballesteros7/fix-reqmgr

Bugfix StdBase DQMHarvest validation
Do something crazy

I will now revert a revert so something something something

After that I will revert this reverted revert so I can get things back
to normal.
Revert Revert Revert

This reverts a previous commit that reverted a previous commit. Solid.
Merge pull request #4252 from PerilousApricot/bugfix/revert-a-revert

Do something crazy