Page MenuHomePhabricator

2019 Week 5 Bonus Content
Closed, ResolvedPublic

Description

PHI1039 describes an unusual situation where greater flexibility around highly custom, ad-hoc, granular permissions would be desirable. I believe we can resolve this by subtyping projects and adding an extension hook.

The simple case in T13240 should be resolved.

MFAEngine should provide guidance on comment forms; and provide guidance and apply workflow to edit forms.

Customizing MFA enrollment guidance would be nice and is likely straightforward.

This fell off the radar, but should get attention: https://discourse.phabricator-community.org/t/out-of-range-value-for-column-deviceversion/2218/2

See PHI1046. When parent projects are shifted between spaces, spacePHID changes do not propagate to milestones in the database. They should, and we should migrate existing cases.

PHI1010 could use more detailed triage around whether we can squeeze anything from transaction.search without hitting a bunch of other messes. This is adjacent to a lot of other work.

Event Timeline

epriestley triaged this task as Normal priority.Jan 26 2019, 3:00 PM
epriestley created this task.
epriestley updated the task description. (Show Details)Jan 28 2019, 6:30 PM

PHI979 is a specific issue where we could use better instance controls (around worker count) in the short term. An alternative approach is to hard-coded if ($instance === 'X') { ... } for now. admin could also probably use more workers, I think we get saturated by backups occasionally.

The other adjacent work is:

I'd like to try to tackle at least some of this and see how far I get. These things are probably straightforward:

  • Kick UI back to full-width.
  • Make "instance manager" flows clear on member lists.
  • Also, cancelled invites are kind of cluttery-ish right now.
  • Remove "Upload Files".
  • Deprecate TOTP MFA.
  • Fix all the staff permissions for instance status so that the "disable instance" / "suspend instance" buttons actually work again.

The status on T13076 is:

  • We have an instances.state API method, but instances aren't actually using it yet.
  • Swap to it directly, or fallback-for-404 + rename as a first step. This also needed a bunch of cache work. I think I wrote a little bit of this but it may have been lost to time when I swapped laptops.
  • Then we have more flexible support for stuff like "worker limit" and are generally closer to doing the rebalance/compaction.
epriestley added a revision: Restricted Differential Revision.Jan 28 2019, 8:05 PM
epriestley added a revision: Restricted Differential Revision.Jan 29 2019, 2:15 AM
epriestley added a revision: Restricted Differential Revision.Jan 29 2019, 10:32 PM
epriestley updated the task description. (Show Details)Jan 30 2019, 12:34 AM
epriestley updated the task description. (Show Details)
epriestley updated the task description. (Show Details)Jan 30 2019, 2:08 AM
epriestley added a commit: Restricted Diffusion Commit.Jan 30 2019, 2:23 PM
epriestley added a commit: Restricted Diffusion Commit.

PHI1010 could use more detailed triage around whether we can squeeze anything from transaction.search without hitting a bunch of other messes. This is adjacent to a lot of other work.

Here's a "before" profile, with this task as the object:

https://secure.phabricator.com/xhprof/profile/PHID-FILE-47g3frqfj7vmdcjfaczc/

Couple of observations:

  • Query fragment construction is relatively expensive and can likely be cached and reduced in cost.
  • This query loads handles by default, which is unusual, and we don't need handles to serve transaction.search.
epriestley updated the task description. (Show Details)Jan 31 2019, 3:21 PM

State of the world on the instance changes:

On the actual instance hosts side of things (services/), I'm not going to try to get more than D20082 (the change from almanac.service.search to instances.state) out this week. That change "feels" really good to me from a quality perspective, but it's pretty core and far-reaching and hard to completely convincingly test locally so I want to deploy it without too much other stuff going on and make sure I didn't miss anything weird. Once that's out, there's a decent bit more cleanup we can do to get rid of the old cache, and we should be within striking distance of instance renames.

On the management UI side of things (instances/), I'll be happy to get D20058 (the change to modular transactions) out this week. I'm planning to do a few more changes on top of that today, but they're largely UI adjustments and mostly to just fill out the test plan for the actual change -- I'm just going through transaction by transaction, fixing any obvious UI stuff, and then trying to hammer on the workflow a bit to catch anything I missed.

If instances.state sticks the worker count change becomes fairly easy (I think?), but I'm realizing that repo001 will probably just fall over if we deploy it in a generic way (e.g., if each instance gets one more worker per 4 users or something, repo001 will suddenly be able to burst up to 900 million workers). For this week I'll just do another manual bump and figure things out from there if it looks like the world is stable.

epriestley closed this task as Resolved.Feb 1 2019, 10:34 PM
epriestley updated the task description. (Show Details)
epriestley added a commit: Restricted Diffusion Commit.Feb 2 2019, 5:27 PM