if i’m reading the current implementation correctly, if we set the flag’s probability to 10%, then change it to 50%, some of those 10% will lose access. that shouldn’t happen.
also, if we set it to 50%, and 100 people use it, 50 being enabled, and we later change it to 10%, slowing the rollout, 40 of those 50 people will lose access, which shouldn’t happen.
whenever a feature flag is read for a user, it should be stored to a persistent datastore. i think an SQL table is appropriate for this because we will need to batch update sets of users who got false-valued feature flags set probabilistically when we roll things out to wider audiences.
if i’m reading the current implementation correctly, if we set the flag’s probability to 10%, then change it to 50%, some of those 10% will lose access. that shouldn’t happen.
also, if we set it to 50%, and 100 people use it, 50 being enabled, and we later change it to 10%, slowing the rollout, 40 of those 50 people will lose access, which shouldn’t happen.
whenever a feature flag is read for a user, it should be stored to a persistent datastore. i think an SQL table is appropriate for this because we will need to batch update sets of users who got
false-valued feature flags set probabilistically when we roll things out to wider audiences.