Page MenuHomePhabricator
Feed Advanced Search

Apr 11 2020

epriestley closed T11968: Decide the fate of FutureGraph, a subtask of T11954: Improve performance of Arcanist/Conduit/Diffusion, primarily through better caching, as Resolved.
Apr 11 2020, 2:41 PM · Performance, Diffusion, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 11 2020, 1:44 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 11 2020, 1:40 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 10 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 2:51 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 1:06 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

Generators can't "return" until PHP 7:

Apr 10 2020, 11:43 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 11:39 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 8 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 7:37 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 7:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:55 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:47 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:35 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

XHPAST currently can't build an AST for $result = yield ..., even though this is a valid construct. This is probably a straightforward fix.

Apr 8 2020, 1:27 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 5 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 5 2020, 12:50 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 3 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 3 2020, 7:03 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 3 2020, 6:56 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

XHPAST currently can't build an AST for $result = yield ..., even though this is a valid construct. This is probably a straightforward fix.

Apr 3 2020, 2:38 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 1 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 1 2020, 5:33 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Mar 2 2020

epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

Does using --max-pack-size to reduce the maximum packfile size really let Git "checkpoint" after each packfile, so the process is effectively resumable?

Mar 2 2020, 4:36 PM · Phacility, Diffusion
epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

PHI1655 identifies a specific case where enormous packfiles may create problems:

Mar 2 2020, 3:56 PM · Phacility, Diffusion

Feb 28 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

I have some code which runs and looks plausible (i.e., not covered in piles of callback garbage), at least:

Feb 28 2020, 4:58 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 27 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

Here's an actual example of loadHardpoints($objects, $hardpoint):

Feb 27 2020, 5:21 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

In the specific case of the Hardpoints, we currently often have code which loads objects but doesn't do anything with them. For example, most Query classes use didFilterResults() to fill things-that-sure-look-like-hardpoints, but few do anything with the results.

Feb 27 2020, 3:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 2:53 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 2:13 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 12:17 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 26 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 8:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 7:34 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 4:59 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 4:39 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

The core idea in D5104 + D5105 is that $future->resolve() and id(new FutureIterator(array($future)))->next() (like, roughly) execute meaningfully different code paths.

Feb 26 2020, 4:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

Somewhere in experimental or wilds, I introduced ArcanistConduitEngine. This has some weird fake future stuff going on, so this is probably now ripe.

Feb 26 2020, 4:14 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 24 2020

epriestley added a comment to T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".

One minor issue with this is that there's some duplication when the commit Fixes Txxx and the associated revision already has the edge (which is very common if the commit Fixes Txxx, because the revision almost always also Fixes Txxx):

Feb 24 2020, 9:00 PM · Maniphest, Differential, Diffusion
epriestley closed T5028: Commit message text formatting in remote git repository (SSH) is not preserved as Resolved by committing Restricted Diffusion Commit.
Feb 24 2020, 8:37 PM · Diffusion
epriestley added a comment to T5028: Commit message text formatting in remote git repository (SSH) is not preserved.

To follow up on this:

Feb 24 2020, 7:53 PM · Diffusion
epriestley added a revision to T5028: Commit message text formatting in remote git repository (SSH) is not preserved: Restricted Differential Revision.
Feb 24 2020, 7:47 PM · Diffusion
epriestley added a comment to T5028: Commit message text formatting in remote git repository (SSH) is not preserved.

I can't find any changelog in any version of Git which mentions the introduction of %B. The %B behavior was introduced in this commit in March, 2010:

Feb 24 2020, 7:21 PM · Diffusion

Feb 13 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

Probably require PHP 5.4 regardless.

Feb 13 2020, 1:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

A problem in moving forward here is that we ultimately do very little complex data access in Phabricator, and what complex data access we do perform can often be faked. We likely have more use cases in Arcanist and provisioning code: API calls are slower, workflows are more parallel/interactive, and we can't just fake it all with AJAX.

Feb 13 2020, 3:59 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 4 2020

epriestley closed T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx" as Resolved by committing Restricted Diffusion Commit.
Feb 4 2020, 3:05 PM · Maniphest, Differential, Diffusion

Feb 3 2020

epriestley added a comment to T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".

I just wanted to hold it across the release cut, it's headed to master shortly.

Feb 3 2020, 7:02 PM · Maniphest, Differential, Diffusion
swisspol added a comment to T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".

@epriestley what's blocking landing this diff?

Feb 3 2020, 6:46 PM · Maniphest, Differential, Diffusion

Jan 30 2020

epriestley closed T13440: Provide a richer "Revisions/Commits" UI in Maniphest as Resolved.

Sounds good. It felt slightly odd to me at first, too, but I think I also got used to it.

Jan 30 2020, 8:16 PM · Diffusion, Differential, Maniphest
swisspol added a comment to T13440: Provide a richer "Revisions/Commits" UI in Maniphest.

It wasn't a major UI issue to start with and yes, you get used to it. I would ignore.

Jan 30 2020, 7:37 PM · Diffusion, Differential, Maniphest
epriestley added a comment to T13440: Provide a richer "Revisions/Commits" UI in Maniphest.

The empty space means "this is a normal commit with no special audit state", and the column collapses if no commits have issues (see this task for an example). That seems fairly reasonable to me?

Jan 30 2020, 6:42 PM · Diffusion, Differential, Maniphest
epriestley added a revision to T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx": Restricted Differential Revision.
Jan 30 2020, 6:32 PM · Maniphest, Differential, Diffusion

Jan 21 2020

epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

The logic here appears to be that gc.auto is set to some value (by default: 6,700). If the number of loose objects exceeds this threshold (technically, if the number of loose objects in objects/17/ is more than 1/256th of this value), it triggers a repack (in a comment, git repack -d -l).

Jan 21 2020, 6:00 PM · Phacility, Diffusion
epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

See PHI1613, where an install hit this warning (and resolved it by running git prune):

Jan 21 2020, 5:13 PM · Phacility, Diffusion

Jan 16 2020

epriestley closed T13479: Update "git rev-parse --show-toplevel" for Git 2.25.0 as Resolved by committing Restricted Diffusion Commit.
Jan 16 2020, 7:39 PM · Diffusion
epriestley added a revision to T13479: Update "git rev-parse --show-toplevel" for Git 2.25.0: Restricted Differential Revision.
Jan 16 2020, 7:37 PM · Diffusion
epriestley triaged T13479: Update "git rev-parse --show-toplevel" for Git 2.25.0 as Low priority.
Jan 16 2020, 7:18 PM · Diffusion

Nov 25 2019

epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 25 2019, 11:06 PM · Diffusion

Nov 21 2019

epriestley removed a parent task for T3794: Rebuild Diffusion/Audit on top of CustomField infrastructure: T4211: Commits only appear in tasks if they have "Ref T1234" and not "Maniphest Tasks: T1234".
Nov 21 2019, 4:06 PM · Restricted Project, Diffusion, Custom Fields
epriestley merged T4211: Commits only appear in tasks if they have "Ref T1234" and not "Maniphest Tasks: T1234" into T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".
Nov 21 2019, 4:05 PM · Maniphest, Differential, Diffusion
epriestley added a subtask for T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx": T4211: Commits only appear in tasks if they have "Ref T1234" and not "Maniphest Tasks: T1234".
Nov 21 2019, 4:03 PM · Maniphest, Differential, Diffusion
epriestley added a parent task for T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx": T3577: Web UI can only create "reference" relationships between Revisions and Tasks, not "close" relationships.
Nov 21 2019, 4:03 PM · Maniphest, Differential, Diffusion
epriestley updated the task description for T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".
Nov 21 2019, 4:02 PM · Maniphest, Differential, Diffusion
epriestley triaged T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx" as Low priority.
Nov 21 2019, 4:02 PM · Maniphest, Differential, Diffusion

Nov 19 2019

epriestley claimed T13444: Provide a standalone script entry point for resolving a repository identity.
Nov 19 2019, 8:36 PM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 19 2019, 8:34 PM · Diffusion
epriestley closed T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration, a subtask of T13444: Provide a standalone script entry point for resolving a repository identity, as Resolved.
Nov 19 2019, 6:19 PM · Diffusion
epriestley closed T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration as Resolved by committing Restricted Diffusion Commit.
Nov 19 2019, 6:19 PM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 19 2019, 6:10 PM · Diffusion
epriestley added a revision to T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration: Restricted Differential Revision.
Nov 19 2019, 6:10 PM · Diffusion

Nov 14 2019

epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 7:49 PM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 7:31 PM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Uhhhh, absolutely none of this works because PhabricatorUserEmail does not have a PHID.

Nov 14 2019, 7:20 PM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Another likely bug is:

Nov 14 2019, 7:05 PM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Currently, the flow here is that changes queue a daemon task.

Nov 14 2019, 6:42 PM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 6:24 PM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Removing an email does not properly disassociate identities. This unambiguously should.

Nov 14 2019, 6:12 PM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 5:34 AM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 4:50 AM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 4:25 AM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 4:09 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

When you set an identity to "Unassigned", we also set the effective PHID to "Unassigned". This isn't strictly incorrect, but probably makes everything more complicated than it needs to be.

Nov 14 2019, 3:22 AM · Diffusion
epriestley added a revision to T13444: Provide a standalone script entry point for resolving a repository identity: Restricted Differential Revision.
Nov 14 2019, 3:15 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.
  • When you set an identity to "Unassigned", we also set the effective PHID to "Unassigned". This isn't strictly incorrect, but probably makes everything more complicated than it needs to be.
Nov 14 2019, 3:05 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

The internal construction with LIKE '%...' is also not great:

Nov 14 2019, 2:47 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Looking up identities by email address is improperly case-sensitive, because the query is a LIKE query against a binary column.

Nov 14 2019, 2:46 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

Here's a list of bugs I expect exist, although I haven't made it far as reproducing them yet:

Nov 14 2019, 2:41 AM · Diffusion
epriestley added a parent task for T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration: T13444: Provide a standalone script entry point for resolving a repository identity.
Nov 14 2019, 2:12 AM · Diffusion
epriestley added a subtask for T13444: Provide a standalone script entry point for resolving a repository identity: T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration.
Nov 14 2019, 2:12 AM · Diffusion
epriestley triaged T13457: "phabricator_repository.repository_commit" table has poor keys for naive iteration as Low priority.
Nov 14 2019, 1:35 AM · Diffusion
epriestley added a comment to T13444: Provide a standalone script entry point for resolving a repository identity.

We currently have bin/repository rebuild-identities, which takes a list of repository identifiers or --all. This has a lot of history in T12164 and we currently queue an "activity" for it during migrations in 20180809.repo_identities.activity.php.

Nov 14 2019, 1:19 AM · Diffusion

Nov 8 2019

epriestley added a revision to T13448: Respect "Fetch Refs" when cloning a new repository: Restricted Differential Revision.
Nov 8 2019, 12:25 AM · Diffusion
epriestley closed T13448: Respect "Fetch Refs" when cloning a new repository as Resolved by committing Restricted Diffusion Commit.
Nov 8 2019, 12:17 AM · Diffusion
epriestley added a revision to T13448: Respect "Fetch Refs" when cloning a new repository: Restricted Differential Revision.
Nov 8 2019, 12:07 AM · Diffusion

Nov 7 2019

epriestley added a revision to T13448: Respect "Fetch Refs" when cloning a new repository: Restricted Differential Revision.
Nov 7 2019, 11:51 PM · Diffusion
epriestley added a revision to T13448: Respect "Fetch Refs" when cloning a new repository: Restricted Differential Revision.
Nov 7 2019, 11:39 PM · Diffusion
epriestley added a comment to T13448: Respect "Fetch Refs" when cloning a new repository.

I stopped the daemons, then created a new repository observed from GitHub with "Fetch Refs" set to "refs/heads/master". I ran bin/repository pull X --trace to update it, and saw it clone:

Nov 7 2019, 11:15 PM · Diffusion
epriestley triaged T13448: Respect "Fetch Refs" when cloning a new repository as Low priority.
Nov 7 2019, 10:57 PM · Diffusion

Nov 4 2019

epriestley added a parent task for T13444: Provide a standalone script entry point for resolving a repository identity: T12164: Put an indirection layer between author/committer strings and user accounts.
Nov 4 2019, 8:24 PM · Diffusion
epriestley triaged T13444: Provide a standalone script entry point for resolving a repository identity as Wishlist priority.
Nov 4 2019, 8:23 PM · Diffusion
swisspol added a comment to T13440: Provide a richer "Revisions/Commits" UI in Maniphest.

Layout looks very neat but a strange too with that big space gap between the icon on each row and the actual text in this case:

image.png (362×780 px, 66 KB)

Nov 4 2019, 7:57 PM · Diffusion, Differential, Maniphest
davidgiga1993 added a comment to T7000: 404 when accessing repo via http.

Yes sure. But in the case I've described above the user has access to diffusion (is member of the project having the diffusion application permission).

Nov 4 2019, 6:11 PM · Diffusion
leoluk added a comment to T7000: 404 when accessing repo via http.

Isn't this working as designed? A user (or the public) needing access to the diffusion application in order to access repositories is exactly the behavior I would expect.

Nov 4 2019, 5:45 PM · Diffusion
davidgiga1993 added a comment to T7000: 404 when accessing repo via http.

Again, this issue is still relevant. Updating did again break it.

Nov 4 2019, 9:07 AM · Diffusion
davidgiga1993 updated the task description for T7000: 404 when accessing repo via http.
Nov 4 2019, 9:07 AM · Diffusion

Nov 1 2019

epriestley renamed T13440: Provide a richer "Revisions/Commits" UI in Maniphest from Provide a richer "Changes" UI in Maniphest to Provide a richer "Revisions/Commits" UI in Maniphest.
Nov 1 2019, 4:35 PM · Diffusion, Differential, Maniphest