<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 6/15/21 1:02 PM, 김태호 wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20210615110237.1930.36373@me226.mailplug.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style>p{margin-top:0px;margin-bottom:0px;}</style>
<div name="mp-default"
style="font-family:돋움,Dotum;font-size:10pt;">
<p><span style="font-family: 돋움, Dotum;">We are testing by
installing 0.7.0 version of Kallithea in two different
environments.</span></p>
<p><br>
</p>
<p><span style="font-family: 돋움, Dotum;">One was installed on
WSL2 on my Windows 10 computer, and the other on EC2
(t2.Micro, Ubuntu20.04) on AWS.</span></p>
<p><span style="font-family: 돋움, Dotum;">The Kallithea git repo
that I want to download is about 2.84GB.</span></p>
<p>There was no problem when I installed it on my PC to verify
that the installation process or configuration was wrong.<br>
</p>
<p><br>
</p>
<p><span style="font-family: 돋움, Dotum;">If I run the Kallithea
in WSL2, there is no problem with the download.</span></p>
<p><br>
</p>
<p><span style="font-family: 돋움, Dotum;">The specifications of
WSL2 are as follows.</span><br>
</p>
<p><span style="font-family: 돋움, Dotum;">CPU : Intel(R) Core(TM)
i7-1065G7 CPU @ 1.30GHz 1.50 GHz ( 8 core )</span></p>
<p><span style="font-family: 돋움, Dotum;">RAM: 16 GB </span></p>
<p><br>
</p>
<p><span style="font-family: 돋움, Dotum;">EC2 is (</span><span
style="font-size: 13.3333px; font-family: 돋움, Dotum;">t2.Micro) </span></p>
<p><span style="font-size: 13.3333px; font-family: 돋움, Dotum;">vCPU:
1</span></p>
<p><span style="font-size: 13.3333px; font-family: 돋움, Dotum;">RAM:
1</span></p>
<p><span style="font-family: 돋움, Dotum;"> </span></p>
<p><span style="font-family: 돋움, Dotum;">However, if I run on an
EC2 instance, the following error :</span></p>
<p><br>
</p>
<p><span style="font-size: 13.3333px; font-family: 돋움, Dotum;">-->
start</span><br>
</p>
<div>
<div><span style="font-size: 10pt;">error: RPC failed; HTTP
417 curl 22 The requested URL returned error: 417</span><br>
</div>
<div><span style="font-family: 돋움, Dotum;">fatal: the remote
end hung up unexpectedly</span></div>
</div>
<div><span style="font-size: 13.3333px; font-family: 돋움, Dotum;">-->
end</span><br>
</div>
<div><span style="font-size: 13.3333px;"><br>
</span></div>
<div><span style="font-size: 10pt; font-family: 돋움, Dotum;">Debug
level log txt file </span>is attached.</div>
</div>
</blockquote>
<p><br>
</p>
<p><br>
</p>
<p>You saw this at the end of the log file:<br>
</p>
<p><br>
</p>
<p>2021-06-15 10:31:38.805 DEBUG
[kallithea.config.middleware.pygrack] handling cmd ['git',
'upload-pack', '--stateless-rpc',
'/var/kallithea/repos/Hicare-Smart/v2/hub-android']<br>
2021-06-15 10:33:12.303 ERROR
[kallithea.config.middleware.pygrack] Traceback (most recent call
last):<br>
File
"/home/ubuntu/kallithea/lib/python3.8/site-packages/kallithea/config/middleware/pygrack.py",
line 160, in backend<br>
out = subprocessio.SubprocessIOChunker(<br>
File
"/home/ubuntu/kallithea/lib/python3.8/site-packages/kallithea/lib/vcs/subprocessio.py",
line 365, in __init__<br>
raise EnvironmentError("Subprocess exited due to an error: %s"
% err)<br>
OSError: Subprocess exited due to an error: b'error: pack-objects
died of signal 9\nerror: git upload-pack: git-pack-objects died
with error.\nfatal: git upload-pack: aborting due to possible
repository corruption on the remote side.\n'<br>
</p>
<p><br>
</p>
<p>Kallithea is invoking 'git', and Git fails, probably because the
server is out of memory.</p>
<p><br>
</p>
<p>You can perhaps reproduce pretty much the same problem by running
this on the server:</p>
<p> cd /var/kallithea/repos/Hicare-Smart/v2/hub-android</p>
<p> git bundle create /tmp/bundle --all</p>
<br>
<p>On the machine where the operation works on the same repo, you
can try to use</p>
<p> /usr/bin/time -v git bundle create /tmp/bundle --all</p>
and the line with "Maximum resident set size (kbytes)" will tell how
much memory it is using.
<p><br>
</p>
While it is hard to give any advice on server size, it seems
reasonable that the the server at least must be of similar size as
the repo, multiplied by some factor. Next, the server size will
depend on for example how many simultaneous operations it should
handle.
<p><br>
</p>
<p>I guess it would work (but be slow) if the system is configured
with plenty of swap space. But real RAM is better.</p>
<p><br>
</p>
<p>/Mads<br>
</p>
</body>
</html>