<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:바탕;
        panose-1:2 3 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:돋움;
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:굴림;
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"맑은 고딕";
        panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@맑은 고딕";}
@font-face
        {font-family:"\@굴림";
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"\@바탕";
        panose-1:2 3 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"\@돋움";
        panose-1:2 11 6 0 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:굴림;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:굴림;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:굴림;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"맑은 고딕";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:3.0cm 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=KO link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Hi,<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>I have one question.<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>My colleague and I install a Kallithea 0.7.0 and we can use the pull command about GIT Repo.<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>However, in Mercurial Repo, no function can be used.<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Do I have to install additionally to use Mercurial Repo?<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>What am I supposed to do?<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>JH Park.<o:p></o:p></span></p><p class=MsoNormal style='word-break:break-hangul'><span lang=EN-US style='font-size:10.0pt;font-family:"맑은 고딕";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Mads Kiilerich <mads@kiilerich.com> <br><b>Sent:</b> Thursday, June 17, 2021 6:07 AM<br><b>To:</b> </span><span style='font-size:11.0pt'>김태호</span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> <taehokim@hicare.net>; kallithea-general@sfconservancy.org<br><b>Cc:</b> </span><span style='font-size:11.0pt'>박정환</span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> <jeonghwan.park@hicare.net><br><b>Subject:</b> Re: Kallithea 0.7.0 Running Environment Questions<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal><span lang=EN-US>On 6/15/21 1:02 PM, </span>김태호<span lang=EN-US> wrote:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div name=mp-default><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>We are testing by installing 0.7.0 version of Kallithea in two different environments.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>One was installed on WSL2 on my Windows 10 computer, and the other on EC2 (t2.Micro, Ubuntu20.04) on AWS.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>The Kallithea git repo that I want to download is about 2.84GB.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>There was no problem when I installed it on my PC to verify that the installation process or configuration was wrong.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>If I run the Kallithea in WSL2, there is no problem with the download.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>The specifications of WSL2 are as follows.<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>CPU : Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz   1.50 GHz ( 8 core )<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>RAM: 16 GB <o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>EC2 is (t2.Micro) <o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>vCPU: 1<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>RAM: 1<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'> <o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>However, if I run on an EC2 instance, the following error :<o:p></o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p><p><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>--> start<o:p></o:p></span></p><div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>error: RPC failed; HTTP 417 curl 22 The requested URL returned error: 417<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>fatal: the remote end hung up unexpectedly<o:p></o:p></span></p></div></div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>--> end<o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:돋움'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:돋움'>Debug level log txt file is attached.<o:p></o:p></span></p></div></div></blockquote><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>You saw this at the end of the log file:<o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>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'<o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>Kallithea is invoking 'git', and Git fails, probably because the server is out of memory.<o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>You can perhaps reproduce pretty much the same problem by running this on the server:<o:p></o:p></span></p><p><span lang=EN-US>    cd /var/kallithea/repos/Hicare-Smart/v2/hub-android<o:p></o:p></span></p><p><span lang=EN-US>    git bundle create /tmp/bundle --all<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>On the machine where the operation works on the same repo, you can try to use<o:p></o:p></span></p><p><span lang=EN-US>    /usr/bin/time -v git bundle create /tmp/bundle --all<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>and the line with "Maximum resident set size (kbytes)" will tell how much memory it is using. <o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>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. <o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>I guess it would work (but be slow) if the system is configured with plenty of swap space. But real RAM is better.<o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>/Mads<o:p></o:p></span></p></div></body></html>