Skip to content

Conversation

aarsilv
Copy link
Contributor

@aarsilv aarsilv commented Aug 15, 2024

Eppo Internal:
Ticket: FF-2710 - Migrate Java to UFC

👯 Related PR: java-server-sdk #70

This pull request has nothing new, but is the result of several incremental efforts to bring EppoClient--renamed to BaseEppoClient--into this common shared repository. It supports standard flags and bandits, based on the Universal Flag Configuration (UFC). It consolidates most of the logic used by upstream JVM SDKs.

The pull requests stacked in this PR are:

If you've reviewed those pull requests, then you only need to skim this.

aarsilv added 4 commits July 24, 2024 09:57
* tests passing for rule evaluator, flag evaluator, and eppo value

* work in progress

* shared UFC tests passing

* don't check in test data

* changes from self-review of PR

* apply spotless linter

* working on tests

* better test logging

* use make test for tests
* bandit test harness ready

* add bandit result

* set up for dropping in bandit evaluation

* bandit deserialization wired up

* loading bandit parameters

* bandit stuff happening

* shared bandit tests passing

* bandit logger classes

* bandit log test passing

* more tests for logger

* bandit tests for graceful mode

* apply spotless formatting autofix

* changes from self-review of PR so far

* more changes from self-review of PR

* more changes from self-review

* make test less fragile

* bump version; don't sign local maven

* bandit logging errors should be non-fatal

* use normalized probability floor

* update result before even attempting to log bandit

* spotless 🙄
* work in progress

* remove singleton for base client

* linter

* expose bandit test harnesses

* expose test uilities

* changes from self-review of PR

* make base client constructor protected
Copy link
Collaborator

@typotter typotter left a comment

Choose a reason for hiding this comment

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

💪
Great work through all the PRs and keeping this implementation up to date with all the tweaks and developments to the Bandit algorithm.

import java.lang.reflect.Field;
import okhttp3.*;

public class TestUtils {
Copy link
Collaborator

Choose a reason for hiding this comment

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

final to discourage subclassing?

@typotter typotter assigned aarsilv and unassigned typotter Aug 15, 2024
@aarsilv aarsilv merged commit d5552e4 into main Aug 15, 2024
@aarsilv aarsilv deleted the aaron/ff-2710/ufc branch August 15, 2024 21:54
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.

3 participants