본문 바로가기
IT/Android

error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429

by 큰공 2024. 4. 3.
728x90
반응형

문제 발생 상황

안드로이드 풀 소드 다운로드 시, repo sync 명령어로 소스 다운로드 시, 아래 에러 메시지가 표시 되면서, 소스 다운로드가 안되는 상황입니다.

error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 

 

전체 로그에서 에러 부분을 살짝 가져오면 아래와 같습니다.

error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform.external.python.setuptools from ssh://git@URL/platform.external.python.setuptools
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
platform.external.python.pyasn1:
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
platform.external.python.pyasn1: sleeping 4.0 seconds before retrying
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform.external.python.pyasn1 from ssh://git@URL/platform.external.python.pyasn1
Fetching: 34% (828/2370) 9:19 | 8 jobs | 0:03 platform.external.rust.crates.argh_shared @ apps/LINUX/qssi/external/rust/crates/argh_shared
fatal: unable to access 'https://URL/platform.external.rust.crates.argh_shared/': The requested URL returned error: 429
platform.external.rust.crates.argh_shared:
fatal: unable to access 'https://URL/platform.external.rust.crates.argh_shared/': The requested URL returned error: 429
platform.external.rust.crates.argh_shared: sleeping 4.0 seconds before retrying
fatal: unable to access 'https://URL/platform.external.rust.crates.argh_shared/': The requested URL returned error: 429
error: Cannot fetch platform.external.rust.crates.argh_shared from ssh://git@URL/platform.external.rust.crates.argh_shared
Fetching: 35% (836/2370) 9:19 | 8 jobs | 0:04 platform.external.rust.crates.anyhow @ apps/LINUX/qssi/external/rust/crates/anyhow
fatal: unable to access 'https://URL/platform.external.python.six/': The requested URL returned error: 429
platform.external.python.six:
fatal: unable to access 'https://URL/platform.external.python.six/': The requested URL returned error: 429
platform.external.python.six: sleeping 4.0 seconds before retrying
fatal: unable to access 'https://URL/platform.external.python.six/': The requested URL returned error: 429
error: Cannot fetch platform.external.python.six from ssh://git@URL/platform.external.python.six
fatal: unable to access 'https://URL/platform.external.rust.crates.aho-corasick/': The requested URL returned error: 429
platform.external.rust.crates.aho-corasick:
fatal: unable to access 'https://URL/platform.external.rust.crates.aho-corasick/': The requested URL returned error: 429
platform.external.rust.crates.aho-corasick: sleeping 4.0 seconds before retrying
fatal: unable to access 'https://URL/platform.external.rust.crates.aho-corasick/': The requested URL returned error: 429
error: Cannot fetch platform.external.rust.crates.aho-corasick from ssh://git@URL/platform.external.rust.crates.aho-corasick
fatal: unable to access 'https://URL/platform.external.python.uritemplates/': The requested URL returned error: 429
platform.external.python.uritemplates:
fatal: unable to access 'https://URL/platform.external.python.uritemplates/': The requested URL returned error: 429
platform.external.python.uritemplates: sleeping 4.0 seconds before retrying
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform.external.python.uritemplates from ssh://git@URL/platform.external.python.uritemplates
fatal: unable to access 'https://URL/platform.external.rust.crates.async-task/': The requested URL returned error: 429
platform.external.rust.crates.async-task:
fatal: unable to access 'https://URL/platform.external.rust.crates.async-task/': The requested URL returned error: 429
platform.external.rust.crates.async-task: sleeping 4.0 seconds before retrying
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429 
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform.external.rust.crates.async-task from ssh://git@URL/platform.external.rust.crates.async-task

 

URL 부분은 각자 서버의 URL 으로 생각되며, 소스 다운로드 시에, 해당 에러 발생으로 각각의 git repository 에서 소스를 받아오지 못하는 상황입니다.

 

Ghat GPT 답변

이러한 오류는 주로 원격 저장소와의 통신 문제로 인해 발생합니다. HTTP 429 오류는 일반적으로 "너무 많은 요청"을 나타내며, 원격 서버에서 클라이언트로부터의 요청이 너무 많아 서비스를 거부한다는 것을 의미합니다.
이러한 오류가 발생하는 주요 원인은 다음과 같습니다:
1) 서버 측 제한: 원격 서버가 클라이언트로부터의 요청을 제한할 수 있습니다. 이는 일시적인 서버 부하를 줄이기 위해 이루어지는 경우가 많습니다.
2) 네트워크 문제: 네트워크 연결이 불안정하거나 느릴 경우에도 이러한 오류가 발생할 수 있습니다.
3) 인증 문제: 권한이 없는 요청을 시도할 때 발생할 수 있습니다. 이 경우, 올바른 사용자 인증 정보가 필요합니다.
4) 로컬 설정 문제: 저장소 설정이 잘못된 경우에도 발생할 수 있습니다.
해결책으로는 다음과 같은 것들이 있을 수 있습니다:

1) 잠시 후 다시 시도: 일시적인 문제로 발생할 수 있으므로 잠시 후에 다시 시도해보세요.
2) 네트워크 확인: 네트워크 연결이 정상인지 확인하고, 필요한 경우 네트워크 연결을 다시 설정하세요.
3) 인증 정보 확인: 원격 저장소에 접근하기 위해 올바른 사용자 인증 정보가 필요합니다. 인증 정보가 필요한 경우 제공하세요.
4) 저장소 설정 확인: 로컬 저장소의 설정이 올바른지 확인하세요. 필요한 경우 설정을 다시 확인하고 수정하세요.
만약 이러한 조치들이 문제를 해결하지 못하는 경우, 원격 서버의 관리자 또는 지원팀에 문의하여 도움을 받을 수도 있습니다.

 

HTTP 429 에러

HTTP 429 Too Many Requests 오류는 서버가 클라이언트로부터의 요청을 처리하지 않고 거부했음을 나타냅니다. 이 오류는 서버가 클라이언트로부터의 요청이 너무 많거나, 특정 시간 동안에 일정한 요청 제한을 넘었을 때 발생합니다. 이는 서버 측에서 설정한 요청 제한에 도달했을 때 발생하는 것입니다.

 

HTTP 429 에러는 클라이언트가 서버로 부터 너무 많이 요구했을 때 나오는 현상이라고 합니다.

 

해결 방법

소스를 다운로드 받기 위해서 기존에는 "repo sync -j24" 의 명령을 썼었는데, 이부분이 서버에 과부하를 주는것으로 파악됩니다. "repo sync -j4 , -j1" 으로 동시 sync core 개수를 낮추어서 요청하였더니, 정상적으로 소스 다운로드가 되었습니다. 소스 다운로드 시간은 늘어났지만, 안정적으로 다운로드 받을 수 있는 방법 인거 같습니다.

 

 

728x90
반응형

댓글