Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rosdistro_build_cache: Detect GitHub rate limit throttling #173

Open
robwoolley opened this issue Dec 17, 2023 · 0 comments
Open

rosdistro_build_cache: Detect GitHub rate limit throttling #173

robwoolley opened this issue Dec 17, 2023 · 0 comments

Comments

@robwoolley
Copy link

When running rosdistro_build_cache as an unauthenticated user the rate limit on the REST API will cause it to fail.

The github_source_manifest_provider() function is able to detect the HTTP 403 error, however it does not understand what it means and will continue to try to access the API:

DEBUG:rosdistro:- load repo tree from https://api.github.com/repos/ros-controls/control_msgs/git/trees/foxy-devel?recursive=1
DEBUG:rosdistro:- load package.xml from https://raw.githubusercontent.com/ros-controls/control_msgs/338ef98b4a4d763fe5df39e86a1967844ceb506e/control_msgs/package.xml
  - fetch "control_msgs"
DEBUG:rosdistro:- load repo tree from https://api.github.com/repos/ros-controls/control_toolbox/git/trees/ros2-master?recursive=1
DEBUG:rosdistro:- load package.xml from https://raw.githubusercontent.com/ros-controls/control_toolbox/ae7102b7ce0c03c510adaa2d86767cf91756665e/package.xml
  - fetch "control_toolbox"
DEBUG:rosdistro:- load repo tree from https://api.github.com/repos/PickNikRobotics/cpp_polyfills/git/trees/main?recursive=1
DEBUG:rosdistro:- load package.xml from https://raw.githubusercontent.com/PickNikRobotics/cpp_polyfills/d740e5b66c14e5be1670ceca79eae1add150604a/tcb_span/package.xml
DEBUG:rosdistro:- load package.xml from https://raw.githubusercontent.com/PickNikRobotics/cpp_polyfills/d740e5b66c14e5be1670ceca79eae1add150604a/tl_expected/package.xml
  - fetch "cpp_polyfills"
DEBUG:rosdistro:Skipped "github_source_manifest_provider()": Unable to fetch JSON tree from https://api.github.com/repos/rt-net/crane_plus/git/trees/humble-devel?recursive=1: HTTP Error 403: rate limit exceeded
  - fetch "crane_plus"
DEBUG:rosdistro:Skipped "github_source_manifest_provider()": Unable to fetch JSON tree from https://api.github.com/repos/iRobotEducation/create3_sim/git/trees/main?recursive=1: HTTP Error 403: rate limit exceeded
  - fetch "create3_sim"
DEBUG:rosdistro:Skipped "github_source_manifest_provider()": Unable to fetch JSON tree from https://api.github.com/repos/AutonomyLab/create_robot/git/trees/humble?recursive=1: HTTP Error 403: rate limit exceeded
  - fetch "create_robot"
DEBUG:rosdistro:Skipped "github_source_manifest_provider()": Unable to fetch JSON tree from https://api.github.com/repos/tier4/cudnn_cmake_module/git/trees/main?recursive=1: HTTP Error 403: rate limit exceeded
  - fetch "cudnn_cmake_module"

I propose that the exception should be identified when it is caught and either cause the GitHub provider to terminate or the whole application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant