aws-amplify / aws-amplify/amplify-android

Exponential Backoff for Pinpoint 429 Response Code

Open
#2,033 0 comments 0 reactions 0 assignees View on GitHub
analytics feature-request
Dominant language
Java
Stars
287
Forks
132
Avg merge
2d 2h
Merged PRs (30d)
45

Description

### Before opening, please confirm:

- [X] I have [searched for duplicate or closed issues](https://github.com/aws-amplify/amplify-android/issues?q=is%3Aissue+) and [discussions](https://github.com/aws-amplify/amplify-android/discussions).

### Language and Async Model

Kotlin

### Amplify Categories

Analytics

### Gradle script dependencies

```groovy
// Put output below this line

```

### Environment information

```
# Put output below this line

```

### Please include any relevant guides or documentation you're referencing

_No response_

### Describe the feature request

Pinpoint can return HTTP 429 Too Many Requests response codes. While we will retry sending these events, we should implement our retry logic with an exponential backoff strategy to reduce load to the server. Ex: If current retry is 20 seconds, retry at 40s -> 80s -> ... until 429 is no longer received.

### Initialization steps (if applicable)

_No response_

### Code Snippet

```java
// Put your code below this line.

```

### amplifyconfiguration.json

_No response_

### GraphQL Schema

```graphql
// Put your schema below this line

```

### Additional information and screenshots

_No response_

Contributor guide

Open the contributing guide

Research direction

The issue identifies Kotlin Analytics/Pinpoint retry handling but names no files or tests. Start by locating the Analytics code that handles Pinpoint HTTP 429 responses and its existing retry path; done means retries use increasing delays and tests cover the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, aws, kotlin
Domain
analytics, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.