Betterment / test_track

Server app for the TestTrack multi-platform split-testing and feature-gating system
MIT License
119 stars 33 forks source link

Add V2 splits controller expecting app name prefix #113

Closed jmileham closed 5 years ago

jmileham commented 5 years ago

Summary

Add a split endpoint for the new migration runner to hook up to. This now requires app prefixes. See ADR-003 for details

/domain @Betterment/test_track_core /platform @samandmoore @smudge

nanda-prbot commented 5 years ago

Needs somebody from @Betterment/test_track_core to claim domain review Needs somebody from @samandmoore and @smudge to claim platform review

Use the shovel operator to claim, e.g.:

@myname << domain && platform

jmileham commented 5 years ago

Oh yeah, I need to not have a destroy endpoint because retirement is going to be a thing. Hold please.

jmileham commented 5 years ago

Yup! That is exactly where we’re headed! The wire protocol will be fully qualified, but the migrations and client variant/AB calls will default to local scope.

On Wed, Apr 24, 2019 at 7:04 PM Nathan Griffith notifications@github.com wrote:

@smudge commented on this pull request.

In doc/arch/adr-003.md https://github.com/Betterment/test_track/pull/113#discussion_r278349907:

+## Context + +In order to allow apps to ship independently, we need to ensure that +split names defined in different apps don't collide. The strategy until +now has been for developers to run all the apps that might have +conflicting splits in local dev, but this doesn't scale well as they may +not have the latest version of each app at all times and a +fully-upgraded local testtrack server to detect conflicts that might +arise in production. + +We need to make sure that migrations don't get jammed up in production +even if a developer only has their own app downloaded locally. + +## Decision + +New migration runners will be expected to prefix their split names with

Maybe we're too far down one path for this to make sense, but I'd be interested in your thoughts on allowing apps to have a local scope on split names, where they don't need to set their own prefix (or even see it on lookups). They'd only see prefixes for splits owned by other apps.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Betterment/test_track/pull/113#pullrequestreview-230395499, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAJ5K445VWGJPCDKATWA5LPSDRORANCNFSM4HH2SHRQ .

jmileham commented 5 years ago

bumpity bump

smudge commented 5 years ago

cool,

<< domain LGTM && platform LGTM

just the 1 validation adjustment and the return value of the setter, but those are minor and don't really impact what's happening overall here.

nanda-prbot commented 5 years ago

Approved! :heart_eyes_cat: :raised_hands: :ghost: