The mercurial plugin ensures that a failed clone operation throws the corresponding exception, but that's not the case if the subsequent update fails: no check is done of the return code of the hg update command.
The effect is that the revision of the build is set to 000000+, which causes a huge changelog calculation in the next build, as basically the calculated log includes all the changesets in the history of the repo.
I've even seen a worse corner case, where a build is assigned up to three different revisions if, for example, two update attempts fail and the third one works when using the cache+share extension.
|Field||Original Value||New Value|
|Status||Open [ 1 ]||In Progress [ 3 ]|
|Status||In Progress [ 3 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|
|Workflow||JNJira [ 143287 ]||JNJira + In-Review [ 190483 ]|