Skip to content
This repository was archived by the owner on Oct 4, 2023. It is now read-only.

Change WRITE_QUORUM_ENABLED to session flag and set session before init#1602

Merged
theoilie merged 1 commit into
mainfrom
theo-change-write-quorum
Jul 15, 2022
Merged

Change WRITE_QUORUM_ENABLED to session flag and set session before init#1602
theoilie merged 1 commit into
mainfrom
theo-change-write-quorum

Conversation

@theoilie

Copy link
Copy Markdown
Contributor

Description

  • Change WRITE_QUORUM_ENABLED feature flag to session based because there's no user_id for the user before they sign up (or is there?), and we want write quorum to replicate user metadata on sign up (also the flag has a deadlock condition that prevents it from enabling because the flag needs the client to get the user ID, but client also needs the flag to initialize SDK)
  • getFeatureEnabled() uses sessionId for checking flags, but it could be called as soon as waitForRemoteConfig() finishes. So I changed it to make init not call its callbacks until sessionId is set

Dragons

None -- I double-checked that the logic I moved to the top of init() doesn't rely on anything that comes after it.

How Has This Been Tested?

Tested locally against staging (npm run start:stage) and verified that the write quorum flag is now true.

How will this change be monitored?

I'll monitor logs for write quorum (logs starting with issueAndWaitForSecondarySyncRequests).

Feature Flags

Changes write quorum flag from user id to session id.

@rickyrombo rickyrombo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Amazing find!

@theoilie theoilie merged commit 6caebfb into main Jul 15, 2022
@theoilie theoilie deleted the theo-change-write-quorum branch July 15, 2022 19:26
audius-infra pushed a commit that referenced this pull request Jul 16, 2022
[a326ed1] [PAY-425] Fix optimistic trophy icon for supporting (#1586) Marcus Pasell
[f760497] Remove antd table shadow pseudoelements (#1604) Kyle Shanks
[6caebfb] Change WRITE_QUORUM_ENABLED to session flag (#1602) Theo Ilie
[81837c8] Add shimmer effect to skeleton component (#1583) Kyle Shanks
[91d638c] Update explore endpoints in libs to use v1 (#1539) Joseph Lee
[bc5a32e] Change logout from sync to async due to SDK changes (#1567) nicoback2
[9ff7510] [PAY-432] Freeze balance briefly after sending a tip (#1599) Michael Piazza
[3620262] Add main role (#1597) Sebastian Klingler
[5ec991f] [PAY-422] Fix tip icon notification matrix color (#1594) Dylan Jeffers
[6523977] [C-677] Fix profile-screen icon hit-slop and color (#1595) Dylan Jeffers
[3265713] [C-679] Fix Probers (#1591) Sebastian Klingler
[0493d99] [PAY-424] Remove search icon in user-lists (#1596) Dylan Jeffers
[68d4ac4] [PAY-423] Fix matrix-mode send-tip web styles (#1593) Dylan Jeffers
[fd39136] [PAY-426] Fix native large button icon sizing/spacing (#1592) Dylan Jeffers
[b874da7] Limit prod mobile builds to main & release branches (#1590) Sebastian Klingler
[462e032] [PAY-393] Fix active state animation on mobile SupportingTile (#1587) Michael Piazza
[1f59819] [C-664] Add @audius/common (#1584) Dylan Jeffers
[56e2a41] [C-427] Fix matrix mode color for dismiss feed-tip-tile button (#1588) Dylan Jeffers
[8b74c18] Fix entity and solana types in web (#1585) Dylan Jeffers
[3301e27] Fix sdk lazyload and upgrade to sdk 0.0.12 (#1581) Sebastian Klingler
[c91f722] [CON-234] Add write quorum feature flag (#1576) Theo Ilie
[e7dc144] Fix native milestone notification (#1575) Dylan Jeffers
[9af0e95] [PAY-399] Fix reaction notification selection bug (#1573) Dylan Jeffers
[13db0db] [C-674] Upgrade eslint, prettier, and plugins to latest (#1578) Dylan Jeffers
[0285c7e] [PAY-414] Fix unsending reactions (#1582) Michael Piazza
[dee8c96] Fix solana phantom provider types (#1580) Raymond Jacobson
[29f97db] Fix solana sign message for Brave (#1579) Raymond Jacobson
[6848f81] [PAY-415] Clicking tipping notifications goes to profile (#1574) Dylan Jeffers
[ae44d1c] [C-409] Add eslint-config-audius, use in packages (#1570) Dylan Jeffers
[8e39c2c] Fix sign-on action types (#1571) Dylan Jeffers
[c3fb7f9] Remove extra lint step (#1572) Sebastian Klingler
[ca26a53] Add ssh key for audius-infra write access (#1569) Sebastian Klingler
[71fe7a8] [C-402] Add min version logic for the desktop app (#1568) Kyle Shanks
[068c2f4] Fix jitter (#1566) Saliou Diallo
[6db7532] [PAY-386] [PAY-387] Created Mobile + Web UIs for First Playlist Challenge (#1565) Reed
[0c36c77] [C-667] Fix desktop build on mac (#1564) Raymond Jacobson
[ba73747] [C-565] Add chain icon to collectibles card (#1563) Dylan Jeffers
[09bb30a] Fix various mobile types (#1562) Dylan Jeffers
[85ac517] [PAY-405] Fixed Claim Rewards Pill To Respect Optimizely Config (#1558) Reed
[24de5e1] [C-581] Improve probers upload flow a11y (#1561) Dylan Jeffers
[3f79f27] [C-575] Fix sentry and dev warnings (#1560) Dylan Jeffers
[a533cce] [C-654] Improve web modal usage and performance (#1559) Dylan Jeffers
[381cfcc] [C-400] Add logic for mobile app minimum version (#1555) Kyle Shanks
[b996975] Upgrade CRA and webpack to v5 (#1508) Dylan Jeffers
[981ef8b] [PAY-384] Created First Tip Challenge Mobile UI (#1554) Reed
[d271051] Rework CI to use lerna bootstrap and singular npm install (#1553) Raymond Jacobson
[0b51b21] v1.1.12 (#1552) Raymond Jacobson
[7029175] Move CP of tar file to s3 step (#1550) Raymond Jacobson
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants