Skip to content

Conversation

FarhanAnjum-opti
Copy link
Contributor

Summary

  • Implemented DefaultCmabClient, a client for fetching CMAB (Contextual Multi-Armed Bandit) decisions.

  • Supports configurable retries with exponential backoff through CmabRetryConfig.

  • Handles error scenarios such as network failures, non-2xx responses, invalid JSON, and malformed responses.

  • Logs relevant error and retry information using the Optimizely logger.

Test plan

  • Created unit tests for checking various scenarios.

Issues

Copy link
Contributor

@muzahidul-opti muzahidul-opti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Added a couple of comments.

…ethod with improved error handling and retry logic
Copy link
Contributor

@muzahidul-opti muzahidul-opti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me with maxTimeoutMs. Added a few comments

@FarhanAnjum-opti FarhanAnjum-opti merged commit b912f62 into master Aug 26, 2025
15 of 17 checks passed
@FarhanAnjum-opti FarhanAnjum-opti deleted the farhan-anjum/FSSDK-11143-implement-cmab-client branch August 26, 2025 15:32
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

Successfully merging this pull request may close these issues.

2 participants