cloudfoundry / cloudfoundry/cf-java-client

Handling of expired access tokens when CF CC rate limiting exhausts

Open
#960 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement triaged
Dominant language
Java
Stars
334
Forks
319
PR merge metrics
No merged PRs in 30d

Description

Hi All,

This issue is same as related to one opened on CF CLI

https://github.com/cloudfoundry/cli/issues/1582

CF CC has a rate limit of unauthenticated calls per IP. In our situation some of the CF applications share the same IP due to NAT.

In case of performing operations with expired access tokens from multiple apps we easily reach the unauthenticated rate limit and CF responds with 429.

I checked the code in AbstractReactorOperations

Token is only refreshed when 401 unauthorised is thrown.

It will be helpful we can check the suggestions mentioned the attached bug.

Please let me know if i am missing something or if the same CLI bug does not apply to CF java client.

Best Regards,
Saurav

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AbstractReactorOperations.java and compare its token-refresh behavior with the related CF CLI issue #1582. Determine how expired tokens interact with CF CC's 429 response, then verify that the client handles this scenario without exhausting the unauthenticated rate limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authentication
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.