Skip to content

Conversation

@Mat001
Copy link
Contributor

@Mat001 Mat001 commented Oct 24, 2025

Summary

Implement Redis caching for CMAB (Contextual Multi-Armed Bandit) decisions using the same plugin-based architecture as ODP cache.

Changes:

  • Add cmabcache plugin with registry and service implementations
  • Implement in-memory LRU cache (size: 10000, TTL: 30m)
  • Implement Redis cache with JSON serialization
  • Update CMABCacheConfig from struct to service-based map config
  • Add unit and integration tests (all passing)
  • Update config.yaml with new service-based CMAB cache format
  • Add cmabcache plugin import to main.go
  • Fix cache.go to initialize CMAB cache via plugin system

Test coverage:

  • In-memory cache tests
  • Redis cache tests
  • Integration tests

Issues

FSSDK-11990

@Mat001 Mat001 self-assigned this Oct 24, 2025
@Mat001 Mat001 requested a review from raju-opti October 24, 2025 19:28
Implement Redis caching for CMAB (Contextual Multi-Armed Bandit)
decisions using the same plugin-based architecture as ODP cache.

Changes:
- Add cmabcache plugin with registry and service implementations
- Implement in-memory LRU cache (size: 10000, TTL: 30m)
- Implement Redis cache with JSON serialization
- Update CMABCacheConfig from struct to service-based map config
- Add comprehensive unit and integration tests (all passing)
- Update config.yaml with new service-based CMAB cache format
- Add cmabcache plugin import to main.go
- Fix cache.go to initialize CMAB cache via plugin system
- Add tests to improve CMAB config parsing coverage

Test coverage:
- In-memory cache tests: 8/8 passing
- Redis cache tests: 8/8 passing
- Integration tests: 8/8 passing
- Config parsing coverage improved for lines 149-167
- All package tests: passing
@Mat001 Mat001 force-pushed the mpirnovar-cmab-redis-cache-fssdk-11990 branch from 2cc456e to 1f16923 Compare October 24, 2025 19:41
@Mat001 Mat001 requested a review from jaeopt October 24, 2025 19:41
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.

1 participant