Unable to make a full clone

Issue #719 open
Lukas Ramach
created an issue

Hi,

I am trying to create a full clone from a large mercurial repository. In the middle of the clone process this fails and the server logs this error:

2015-05-05 07:13:23.379 [Thread-3746] WARN  sonia.scm.web.cgi.DefaultCGIExecutor - Traceback (most recent call last):
  File "<some path>\.scm\lib\python\hgweb.py", line 42, in <module>
    wsgicgi.launch(application)
  File "mercurial\hgweb\wsgicgi.pyc", line 78, in launch
  File "mercurial\hgweb\protocol.pyc", line 60, in groupchunks
  File "mercurial\changegroup.pyc", line 136, in read
  File "mercurial\util.pyc", line 1159, in read

  File "mercurial\util.pyc", line 1135, in splitbig

  File "mercurial\changegroup.pyc", line 359, in generate
  File "mercurial\changegroup.pyc", line 298, in group
  File "mercurial\changegroup.pyc", line 426, in revchunk
  File "mercurial\revlog.pyc", line 969, in revdiff
  File "mercurial\revlog.pyc", line 913, in _chunk
  File "mercurial\revlog.pyc", line 910, in _chunkraw
  File "mercurial\revlog.pyc", line 901, in _getchunk
  File "mercurial\revlog.pyc", line 872, in _loadchunk
  File "mercurial\store.pyc", line 455, in __call__
  File "mercurial\scmutil.pyc", line 374, in __call__
  File "mercurial\windows.pyc", line 35, in posixfile
IOError: [Errno 2]<some file path>\.hg/store\00manifest.d: The system cannot find the file specified

The clone is then aborted.

If I clone to a few weeks older revision and then update to the current revision it works.

However I could not determine the revision this is dependent on.

Any ideas and help appreciated.

Regards Lukas

Comments (7)

  1. Lukas Ramach reporter

    Yes, scm manager runs on windows. Yes there are larger files in the repository. Approximatly 15 minutes, but its hard to be exact because this includes the rollback.

  2. Sebastian Sebastian repo owner

    This sounds like a timeout. Could you try to increase the maxidle time:

    To set the maxIdleTime, you have to edit your server-config.xml and add the timeout to the SelectChannelConnector:

    <Set name="maxIdleTime">1800000</Set>
    

    e.g.:

    <Call name="addConnector">
      <Arg>
        <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
          <Set name="host">
            <SystemProperty name="jetty.host" />
          </Set>
          <Set name="port">
            <SystemProperty name="jetty.port" default="8080" />
          </Set>
          <Set name="requestHeaderSize">32768</Set>
          <Set name="maxIdleTime">1800000</Set>
        </New>
      </Arg>
    </Call>
    

    Do you use https or plain http?

  3. Log in to comment