git clone with large repositories has large delay

Issue #425 resolved
Former user created an issue

When cloning git repositories, there is a significant delay on the server side before any data begins transmitting to the client. The server logs a "git-upload-pack" operation and the thread spins at 100% for a while before client begins receiving objects.

This behavior is much more noticeable with large git repositories (100+ MB) where this step takes up to 4+ minutes. It seems to be linear with the size of the repository.

Looking at the code, my guess is that it's in SimpleGitUploadPackHandler as the happens prior to the "counting objects" progress message. Does the graph walker traverse the entire repository? Is that step necessary for a clone operation?

Comments (3)

  1. Marcin Kuzminski repo owner

    This code is taken from dulwich, and just simply "patched" for rhodecode, but i think this issue is more about how dulwich handles the protocol.

  2. Marcin Kuzminski repo owner

    I decided to remove dulwich from handling http operations, it should be now much faster using new implementation in beta branch.

  3. Log in to comment