Archiving operations time out after 120 seconds.

Create issue
Issue #1 resolved
Jerry Qassar created an issue

When using the stash-archive plugin (v 1.0) with Stash 2.4.1, users reported that the download button produced corrupt/invalid .ZIP files on larger repositories. Stopwatch testing indicated that the download process was

a) slow, perhaps due to the 32K buffer size, and b) consistently ending at exactly two minutes.

It is not obvious where this limit is coming from, and it may be due to Stash itself rather than the stash-archive plugin.

NOTE: It seems that version 1.1 of the plugin resolves the issue, insofar as throughput is improved. It might be that a much larger repository size could end up reproducing the issue. Stash 2.4.1 does not seem to offer upgrades for plugins through the UPM.

Comments (7)

  1. Patrick Baker

    This isn't a problem with the plugin, more of a configuration issue.

    You can set the property process.timeout.execution equal to a value higher that the default 120 seconds.

    IE

    process.timeout.execution=600

    https://confluence.atlassian.com/display/STASH/Stash+config+properties describes this property as:

    Controls timeouts for external processes, such as Git and Hg. The idle timeout configures how long the command is allowed to run without producing any output. The execution timeout configures a hard upper limit on how long the command is allowed to run even if it is producing output.

    Values are in SECONDS. Using 0, or a negative value, disables the timeout completely.

    USE AT YOUR OWN RISK!

  2. Kelly Schoenhofen

    We just noticed the same 120 second timeout problem. I'll increase it, but it worries me that git operations will now get the same timeout. I'll have to set our timeout value quite high, as we have a need for large repo zips to be downloaded over small VPN pipes at times.

  3. Jesper Brännström

    I don't feel comfortable with changing the timeout of this to something as high as required for our limited connection. We would probably need 1-2 hours download for some repos and I don't know how changing the timeout would affect other running JIRA processes. I hope this can be fixed in some other way.

  4. Bryan Turner

    When version 2.1 is released, you can now add plugin.bitbucket-archive.timeout to bitbucket.properties and restart Bitbucket Server. The timeout is specified in seconds. With the 2.1 release, the default timeout has been increased from 2 minutes to 30 minutes (which brings it more in line with a git clone or git archive executed remotely via SSH).

    If you've updated process.timeout.execution or process.timeout.idle for archive specifically, you'll likely want to revert that change and add your timeout on the new property instead. (Note that the plugin.bitbucket-archive.timeout value is applied as both the idle and execution timeout; with the way git archive works, a separate, explicit idle timeout doesn't make much sense).

  5. Log in to comment