Skip to content

Conversation

thomaspoignant
Copy link
Member

@thomaspoignant thomaspoignant commented May 23, 2025

This PR

This is a complete rebuild of the GO Feature Flag provider.
This version is using a webassembly module to do in-process evaluation inside the provider.

You can still use the remote evaluation if you prefer through the OFREP endpoint of GO Feature Flag.

Things to know:

  • The wasm module is download during the process-resources of maven using this script.
  • The default evaluation method is now the in-process one.
  • If you are using the remote evaluation, we are not managing any cache.
  • The provider is also now supporting tracking method

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant thomaspoignant requested a review from a team as a code owner May 23, 2025 16:56
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant thomaspoignant force-pushed the goff-inprocess-eval branch 2 times, most recently from a3f31fd to 3e777b2 Compare May 24, 2025 09:33
@thomaspoignant thomaspoignant marked this pull request as draft May 24, 2025 09:35
@thomaspoignant thomaspoignant force-pushed the goff-inprocess-eval branch 5 times, most recently from b328b00 to 25ecbc0 Compare May 24, 2025 10:20
@thomaspoignant thomaspoignant marked this pull request as ready for review May 24, 2025 10:33
Signed-off-by: Thomas Poignant <[email protected]>
@toddbaert
Copy link
Member

@thomaspoignant I'm very interested in this! I don't have time to review today but I will on Friday (not that you have to wait for my approval) since this is all GoFF.

@toddbaert toddbaert requested a review from beeme1mr May 28, 2025 19:14
@toddbaert
Copy link
Member

cc @beeme1mr this uses WASM, you might be interested.

Copy link
Member

@toddbaert toddbaert left a comment

Choose a reason for hiding this comment

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

This is really cool.

I was worried about making sure all the memory resources were cleaned/closed, but it looks like chicory is doing most of that for you (which is cool). Things make sense to me. Very interested to see how this works at scale.

I left one comment because I think you are possibly missing some Jackson deps.

@toddbaert
Copy link
Member

You might also want to mention tracking in your title.

@thomaspoignant thomaspoignant changed the title feat(go-feature-flag)!: Introduce in-process evaluation feat(go-feature-flag)!: Introduce in-process evaluation + tracking May 30, 2025
Signed-off-by: Thomas Poignant <[email protected]>
@toddbaert
Copy link
Member

@thomaspoignant feel free to merge.

@thomaspoignant
Copy link
Member Author

@thomaspoignant feel free to merge.

I am waiting other major providers to be ready to release them all together.
I am working on .NET and nodeJS.

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant
Copy link
Member Author

I forgot that merging does not mean release 🤦
I'll merge it.

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.

4 participants