Large Commits to public HG repositories fail - but private ones succeed

We have recently migrated to rcstack, first to rhodecode 4.28 and then to rhodecode 5.5.1. We are now having issues with pushing large files or commits with a large number of files to mercurial repos that are public.

The error we get is “abort: error: An existing connection was forcibly closed by the remote host”

We have the large files extension enabled and this worked prior to the upgrade. This problem does not happen if we set the repository to private. Additionally this does not seem to be an issue with git repositories

Hi! Can you provide logs from vcsserver and rhodecode container when you reproduce this issue? Are there any exceptions? Thanks!

Attempting the following results int he following logs (sorry it appears a new user account can not attach files)

hg clone https://rc.tg-ap.com/sammercurialtest2
destination directory: sammercurialtest2
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved

hg add testfile150M
testfile150M: up to 471 MB of RAM may be required to manage this file
(use ‘hg revert testfile150M’ to cancel the pending addition)
hg commit -m “150Mb file”
hg push
pushing to https://rc.tg-ap.com/sammercurialtest2
searching for changes
abort: error: EOF occurred in violation of protocol (_ssl.c:2406)

VCSSERVER LOGS

{“timestamp”: “2025-06-09T10:39:54.169879+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[1811] IP: 172.19.0.14 time: 0.0048s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.00480341911315918, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.170” pid=<173474> level=“INFO” type=“[GNCRN]” ip=“172.19.0.14 " rqt=“0.005809” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”
{“timestamp”: “2025-06-09T10:39:54.248475+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: GET Request to /stream/hg/sammercurialtest2:repo=sammercurialtest2,vcs_method=assert_correct_path req[1812] IP: 172.27.27.248 time: 0.0073s [mercurial/proto-1.0 (Mercurial 6.7.2)], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.0073451995849609375, “ver”: “5.5.1”, “code”: 200, “path”: “/stream/hg/sammercurialtest2”, “view_name”: “stream_hg”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.249” pid=<173474> level=“INFO” type=”[GNCRN]" ip=“172.27.27.248 " rqt=“0.009098” response_code=“200” response_bytes=“535 " uri=“GET:/sammercurialtest2 cmd=capabilities” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.340006+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[2024] IP: 172.19.0.14 time: 0.0049s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.004935026168823242, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.341” pid=<173466> level=“INFO” type=“[GNCRN]” ip=“172.19.0.14 " rqt=“0.006220” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”
{“timestamp”: “2025-06-09T10:39:54.403577+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: GET Request to /stream/hg/sammercurialtest2:repo=sammercurialtest2,vcs_method=assert_correct_path req[2025] IP: 172.27.27.248 time: 0.0054s [mercurial/proto-1.0 (Mercurial 6.7.2)], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.005396604537963867, “ver”: “5.5.1”, “code”: 200, “path”: “/stream/hg/sammercurialtest2”, “view_name”: “stream_hg”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.404” pid=<173466> level=“INFO” type=”[GNCRN]" ip=“172.27.27.248 " rqt=“0.006641” response_code=“200” response_bytes=“43 " uri=“GET:/sammercurialtest2 cmd=batch” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.486184+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[2026] IP: 172.19.0.14 time: 0.0032s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.003203868865966797, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.487” pid=<173466> level=“INFO” type=“[GNCRN]” ip=“172.19.0.14 " rqt=“0.004279” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”
{“timestamp”: “2025-06-09T10:39:54.548821+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: GET Request to /stream/hg/sammercurialtest2:repo=sammercurialtest2,vcs_method=assert_correct_path req[2027] IP: 172.27.27.248 time: 0.0072s [mercurial/proto-1.0 (Mercurial 6.7.2)], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.007168769836425781, “ver”: “5.5.1”, “code”: 200, “path”: “/stream/hg/sammercurialtest2”, “view_name”: “stream_hg”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.551” pid=<173466> level=“INFO” type=”[GNCRN]" ip=“172.27.27.248 " rqt=“0.010522” response_code=“200” response_bytes=“15 " uri=“GET:/sammercurialtest2 cmd=listkeys” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.635395+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[1813] IP: 172.19.0.14 time: 0.0039s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.0038895606994628906, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.636” pid=<173474> level=“INFO” type=“[GNCRN]” ip=“172.19.0.14 " rqt=“0.004865” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”
{“timestamp”: “2025-06-09T10:39:54.694853+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: GET Request to /stream/hg/sammercurialtest2:repo=sammercurialtest2,vcs_method=assert_correct_path req[2028] IP: 172.27.27.248 time: 0.0086s [mercurial/proto-1.0 (Mercurial 6.7.2)], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.008624076843261719, “ver”: “5.5.1”, “code”: 200, “path”: “/stream/hg/sammercurialtest2”, “view_name”: “stream_hg”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:54.696” pid=<173466> level=“INFO” type=”[GNCRN]" ip=“172.27.27.248 " rqt=“0.010298” response_code=“200” response_bytes=“0 " uri=“GET:/sammercurialtest2 cmd=listkeys” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:55.430993+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[1814] IP: 172.19.0.14 time: 0.0041s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.004149436950683594, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:55.432” pid=<173474> level=“INFO” type=“[GNCRN]” ip=“172.19.0.14 " rqt=“0.005838” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”
{“timestamp”: “2025-06-09T10:39:56.286273+00:00”, “levelname”: “INFO”, “name”: “vcsserver.tweens.request_wrapper”, “message”: “Finished request processing: POST Request to /hg:repo=sammercurialtest2,vcs_method=assert_correct_path req[2029] IP: 172.19.0.14 time: 0.0050s [RhodeCode HTTP 5.5.1], VCSServer 5.5.1 req_id=None”, “req_id”: “00000000-0000-0000-0000-000000000000”, “time”: 0.004956960678100586, “ver”: “5.5.1”, “code”: 200, “path”: “/hg”, “view_name”: “vcs”, “user_agent”: “RhodeCode HTTP 5.5.1”, “ip”: “172.19.0.14”, “vcs_method”: “assert_correct_path”, “repo_name”: “sammercurialtest2”}
time=“2025-06-09 10:39:56.287” pid=<173466> level=“INFO” type=”[GNCRN]" ip="172.19.0.14 " rqt=“0.006110” response_code=“200” response_bytes=“51 " uri=“POST:/hg " user=”:-” user_agent=“RhodeCode HTTP 5.5.1”

RHODECODELOGS

{“timestamp”: “2025-06-09T10:39:54.191625+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “b92366ab-5c55-429b-993b-3c3ef7220162”}
{“timestamp”: “2025-06-09T10:39:54.210546+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “pull action on hg repo "sammercurialtest2" by "default" from 172.27.27.248 mercurial/proto-1.0 (Mercurial 6.7.2)”, “req_id”: “b92366ab-5c55-429b-993b-3c3ef7220162”}
{“timestamp”: “2025-06-09T10:39:54.251114+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: GET Request to /sammercurialtest2 req[1318] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.1168s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=b92366ab-5c55-429b-993b-3c3ef7220162”, “req_id”: “b92366ab-5c55-429b-993b-3c3ef7220162”, “time”: 0.11684107780456543, “ver”: “5.5.1”, “code”: 200, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:54.252” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.118695” response_code=“200” response_bytes=“535 " uri=“GET:/sammercurialtest2 cmd=capabilities” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.355944+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “6f45e562-5e6f-45e6-87db-c3518a1fdcec”}
{“timestamp”: “2025-06-09T10:39:54.371219+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “pull action on hg repo "sammercurialtest2" by "default" from 172.27.27.248 mercurial/proto-1.0 (Mercurial 6.7.2)”, “req_id”: “6f45e562-5e6f-45e6-87db-c3518a1fdcec”}
{“timestamp”: “2025-06-09T10:39:54.405961+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: GET Request to /sammercurialtest2 req[1319] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.0965s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=6f45e562-5e6f-45e6-87db-c3518a1fdcec”, “req_id”: “6f45e562-5e6f-45e6-87db-c3518a1fdcec”, “time”: 0.09652924537658691, “ver”: “5.5.1”, “code”: 200, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:54.407” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.098404” response_code=“200” response_bytes=“43 " uri=“GET:/sammercurialtest2 cmd=batch” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.499790+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “b319d31a-8981-430e-a982-1816b203e041”}
{“timestamp”: “2025-06-09T10:39:54.517695+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “pull action on hg repo "sammercurialtest2" by "default" from 172.27.27.248 mercurial/proto-1.0 (Mercurial 6.7.2)”, “req_id”: “b319d31a-8981-430e-a982-1816b203e041”}
{“timestamp”: “2025-06-09T10:39:54.552642+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: GET Request to /sammercurialtest2 req[1320] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.0968s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=b319d31a-8981-430e-a982-1816b203e041”, “req_id”: “b319d31a-8981-430e-a982-1816b203e041”, “time”: 0.0968472957611084, “ver”: “5.5.1”, “code”: 200, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:54.558” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.101846” response_code=“200” response_bytes=“15 " uri=“GET:/sammercurialtest2 cmd=listkeys” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:54.647795+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “9ca8e58d-877d-43d3-94a4-8312f897a849”}
{“timestamp”: “2025-06-09T10:39:54.664431+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “pull action on hg repo "sammercurialtest2" by "default" from 172.27.27.248 mercurial/proto-1.0 (Mercurial 6.7.2)”, “req_id”: “9ca8e58d-877d-43d3-94a4-8312f897a849”}
{“timestamp”: “2025-06-09T10:39:54.697592+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: GET Request to /sammercurialtest2 req[1321] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.0884s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=9ca8e58d-877d-43d3-94a4-8312f897a849”, “req_id”: “9ca8e58d-877d-43d3-94a4-8312f897a849”, “time”: 0.0883936882019043, “ver”: “5.5.1”, “code”: 200, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:54.699” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.090595” response_code=“200” response_bytes=“0 " uri=“GET:/sammercurialtest2 cmd=listkeys” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:55.444537+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “d9fccfc8-a012-43ba-80df-a44eaa93ac42”}
{“timestamp”: “2025-06-09T10:39:55.456294+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: POST Request to /sammercurialtest2 req[1322] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.0559s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=d9fccfc8-a012-43ba-80df-a44eaa93ac42”, “req_id”: “d9fccfc8-a012-43ba-80df-a44eaa93ac42”, “time”: 0.05589461326599121, “ver”: “5.5.1”, “code”: 401, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:55.458” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.058214” response_code=“401” response_bytes=“260 " uri=“POST:/sammercurialtest2 cmd=unbundle” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”
{“timestamp”: “2025-06-09T10:39:56.304736+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.simplevcs”, “message”: “Access for IP:172.27.27.248 allowed”, “req_id”: “b5ed43b3-ca56-40e7-b1eb-9ca52f66cb4b”}
{“timestamp”: “2025-06-09T10:39:56.320097+00:00”, “levelname”: “INFO”, “name”: “rhodecode.lib.middleware.request_wrapper”, “message”: “Finished request processing: POST Request to /sammercurialtest2 req[1323] <AuthUser(‘id:0[ANONYMOUS] ip:172.27.27.248 auth:False’)> time: 0.0653s [mercurial/proto-1.0 (Mercurial 6.7.2)], RhodeCode 5.5.1 req_id=b5ed43b3-ca56-40e7-b1eb-9ca52f66cb4b”, “req_id”: “b5ed43b3-ca56-40e7-b1eb-9ca52f66cb4b”, “time”: 0.06530022621154785, “ver”: “5.5.1”, “code”: 401, “path”: “/sammercurialtest2”, “view_name”: “NOT_FOUND”, “user_agent”: “mercurial/proto-1.0 (Mercurial 6.7.2)”, “ip”: “172.27.27.248”}
time=“2025-06-09 10:39:56.323” pid=<168603> level=“INFO” type=“[GNCRN]” ip=“172.27.27.248 " rqt=“0.068584” response_code=“401” response_bytes=“260 " uri=“POST:/sammercurialtest2 cmd=unbundle” user=”:-” user_agent=“mercurial/proto-1.0 (Mercurial 6.7.2)”