Skip to content

Cache a fully reified visitor representation in the rails session upon successful visitor fetch #56

Open
@jmileham

Description

@jmileham

Now that authenticated web sessions are Identity driven, we can no longer fail back and have the client deterministically decide its variant for a split from its visitor ID of TestTrack is unavailable. Not only that, but that behavior could create weird flapping when somebody had an override unaligned with the split weights when TT was unreachable.

So we'd like to cache the current visitor's assignment registry in the rails session after every successful visitor fetch, but under normal circumstances we'll never use it. Then, if a visitor fetch fails at any point, we can fall back to the cache.

It's important to ensure that the cache is deleted at sign in boundaries so that unauthenticated visitors do not cross the boundary into authenticated sessions. This means that the TT server is still an HA dependency of test_track log_in! and sign_up! calls.

/cc @smudge

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions