Page MenuHomePhabricator
Feed Advanced Search

Apr 28 2020

epriestley closed T13525: "apcu_store()" may raise "GC cache entry ..." errors as Resolved by committing Restricted Diffusion Commit.
Apr 28 2020, 11:13 AM · Infrastructure
epriestley added a revision to T13525: "apcu_store()" may raise "GC cache entry ..." errors: Restricted Differential Revision.
Apr 28 2020, 10:56 AM · Infrastructure
epriestley triaged T13525: "apcu_store()" may raise "GC cache entry ..." errors as Normal priority.
Apr 28 2020, 10:52 AM · Infrastructure

Apr 26 2020

epriestley added a revision to T13518: PHP 7.4 "preg_match_all()" + "PREG_OFFSET_CAPTURE" behavior has changed: Restricted Differential Revision.
Apr 26 2020, 3:32 PM · Infrastructure
epriestley added a revision to T13518: PHP 7.4 "preg_match_all()" + "PREG_OFFSET_CAPTURE" behavior has changed: Restricted Differential Revision.
Apr 26 2020, 3:30 PM · Infrastructure
epriestley updated the task description for T13518: PHP 7.4 "preg_match_all()" + "PREG_OFFSET_CAPTURE" behavior has changed.
Apr 26 2020, 3:27 PM · Infrastructure
epriestley triaged T13518: PHP 7.4 "preg_match_all()" + "PREG_OFFSET_CAPTURE" behavior has changed as Low priority.
Apr 26 2020, 3:27 PM · Infrastructure
epriestley added a comment to T13232: Mac OS X Mojave, SIP, Code Signing, and Apache.

With PHP 7.4, it seems OpenSSL (and various other libraries) have moved to pkg-config, which is a tool that uses the PKG_CONFIG_PATH environmental variable to locate packages. This impacts OpenSSL and libxml2.

Apr 26 2020, 3:02 PM · Infrastructure

Apr 11 2020

epriestley closed T11968: Decide the fate of FutureGraph as Resolved.

"FutureGraph" is dead. Long live "HardpointEngine".

Apr 11 2020, 2:41 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
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 7 2020

epriestley added a revision to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5: Restricted Differential Revision.
Apr 7 2020, 9:24 PM · Infrastructure
epriestley added a comment to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5.

XHPAST currently can not parse $x = yield $y;.

Apr 7 2020, 9:21 PM · Infrastructure
epriestley added a revision to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5: Restricted Differential Revision.
Apr 7 2020, 9:12 PM · Infrastructure
epriestley added a revision to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5: Restricted Differential Revision.
Apr 7 2020, 9:11 PM · Infrastructure
epriestley added a revision to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5: Restricted Differential Revision.
Apr 7 2020, 9:08 PM · Infrastructure
epriestley added a revision to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5: Restricted Differential Revision.
Apr 7 2020, 9:04 PM · Infrastructure
epriestley added a comment to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5.

This is entangled with T9753.

Apr 7 2020, 2:08 PM · Infrastructure
epriestley added a comment to T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5.

XHPAST currently can not parse $x = yield $y;. I suspect this was added to the PHP grammar after XHPAST diverged. I'm hopeful the fix is straightforward.

Apr 7 2020, 1:53 PM · Infrastructure

Apr 6 2020

epriestley closed T13499: Make "undefined index" PHP errors throw a RuntimeException as Resolved.

One long-standing warning in a unit test cropped up (D21055) but if this does have far-reaching implications, they don't seem terribly obvious/common.

Apr 6 2020, 2:26 PM · Infrastructure

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 22 2020

epriestley lowered the priority of T13499: Make "undefined index" PHP errors throw a RuntimeException from Normal to Wishlist.

D21044 may resolve this alone, but I suspect there will be at least a little bit of followup work so I'm going to leave this open for the moment.

Mar 22 2020, 7:43 PM · Infrastructure

Mar 20 2020

epriestley added a revision to T13499: Make "undefined index" PHP errors throw a RuntimeException: Restricted Differential Revision.
Mar 20 2020, 7:38 PM · Infrastructure

Mar 18 2020

epriestley added a comment to T13243: Writing to streams can run into issues with EINTR.

It's true that it has been 12 years, but I'm sure fwrite() will start returning an error code when it encounters a permanent, fatal EPIPE error condition soon.

Mar 18 2020, 10:10 PM · Infrastructure

Mar 6 2020

epriestley triaged T13499: Make "undefined index" PHP errors throw a RuntimeException as Normal priority.
Mar 6 2020, 5:22 PM · Infrastructure

Mar 2 2020

epriestley renamed T13496: Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy` from Print the objet destruction log to stdout/stderr when run interactively via `bin/remove destroy` to Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy`.
Mar 2 2020, 5:39 PM · Infrastructure
epriestley triaged T13496: Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy` as Wishlist priority.
Mar 2 2020, 5:18 PM · Infrastructure

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 closed T13177: ServiceProfiler integration should be a configurable part of Future, not hard-coded into subclasses (HTTPSFuture, ExecFuture) as Resolved.

I'm going to mark this as resolved, since:

Feb 27 2020, 3:06 PM · Infrastructure
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 T13177: ServiceProfiler integration should be a configurable part of Future, not hard-coded into subclasses (HTTPSFuture, ExecFuture): Restricted Differential Revision.
Feb 27 2020, 2:53 PM · Infrastructure
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 17 2020

epriestley closed T7408: Consider dropping support for older versions of PHP as Resolved.

I'm changing the minimum required version to PHP 5.5; see T13492 for 5.5-specific followup.

Feb 17 2020, 6:58 PM · Restricted Project, Infrastructure
epriestley triaged T13492: Upgrade Support Infrastructure to Minimum PHP Version 5.5 as Wishlist priority.
Feb 17 2020, 6:58 PM · Infrastructure

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

Jan 21 2020

epriestley lowered the priority of T13473: Provide full payload logging for inbound CircleCI build requests from Low to Wishlist.

The issue in PHI1605 resolved itself without apparent intervention, presumably as a result of changes on the CircleCI side. I can't find any release notes to shed any light on things, but this is no longer time-sensitive.

Jan 21 2020, 5:12 PM · Infrastructure

Jan 14 2020

epriestley closed T13471: Guard call to "get_magic_quotes_gpc()" during startup as Resolved by committing Restricted Diffusion Commit.
Jan 14 2020, 8:23 PM · Infrastructure
epriestley added a revision to T13471: Guard call to "get_magic_quotes_gpc()" during startup: Restricted Differential Revision.
Jan 14 2020, 8:21 PM · Infrastructure
epriestley added a comment to T13474: Track mentions on an individual field-by-field basis.

(Since a full implementation here will imply that removing a custom field from configuration may "unmention" an arbitrarily large number of relationships, and we can't easily do that inline or at display time, the ultimately implementation would likely include a more robust version of this script.)

Jan 14 2020, 7:21 PM · Infrastructure
epriestley added a comment to T13474: Track mentions on an individual field-by-field basis.

In PHI1602, I proposed a script to "reset" mentions on an object. The use case this serves is:

Jan 14 2020, 7:13 PM · Infrastructure
epriestley triaged T13474: Track mentions on an individual field-by-field basis as Wishlist priority.
Jan 14 2020, 6:32 PM · Infrastructure
epriestley triaged T13473: Provide full payload logging for inbound CircleCI build requests as Low priority.
Jan 14 2020, 6:17 PM · Infrastructure

Dec 19 2019

epriestley triaged T13471: Guard call to "get_magic_quotes_gpc()" during startup as Wishlist priority.
Dec 19 2019, 6:52 PM · Infrastructure

Nov 1 2019

epriestley added a revision to T13157: Provide more advanced tools for developing against Phabricator and discovering PHIDs: Restricted Differential Revision.
Nov 1 2019, 5:21 PM · Infrastructure

Oct 29 2019

epriestley added a comment to T13436: Improve performance of "ssh-auth".

I deployed the --sshd-key %k stuff to secure and it looks like that shaved ~1,000-2000ms off the total cost. The ssh-auth cost has dropped to about 200ms:

Oct 29 2019, 1:47 AM · Diffusion, Phacility, Infrastructure
epriestley added a revision to T13436: Improve performance of "ssh-auth": Restricted Differential Revision.
Oct 29 2019, 1:31 AM · Diffusion, Phacility, Infrastructure
epriestley added a revision to T13436: Improve performance of "ssh-auth": Restricted Differential Revision.
Oct 29 2019, 12:49 AM · Diffusion, Phacility, Infrastructure
epriestley added a revision to T13436: Improve performance of "ssh-auth": Restricted Differential Revision.
Oct 29 2019, 12:36 AM · Diffusion, Phacility, Infrastructure
epriestley added a comment to T13436: Improve performance of "ssh-auth".

I saw things hang during deploy and the OpenSSH bug should have been fixed years ago.

Oct 29 2019, 12:20 AM · Diffusion, Phacility, Infrastructure
epriestley added a comment to T13436: Improve performance of "ssh-auth".

I configured ControlMaster on secure.

Oct 29 2019, 12:14 AM · Diffusion, Phacility, Infrastructure

Oct 28 2019

epriestley triaged T13436: Improve performance of "ssh-auth" as Normal priority.
Oct 28 2019, 11:00 PM · Diffusion, Phacility, Infrastructure

Oct 17 2019

epriestley closed T13428: PHP 7.4 now warns about "implode()" argument order as Resolved by committing Restricted Diffusion Commit.
Oct 17 2019, 4:11 PM · Infrastructure
epriestley updated the task description for T13428: PHP 7.4 now warns about "implode()" argument order.
Oct 17 2019, 4:08 PM · Infrastructure
epriestley added a revision to T13428: PHP 7.4 now warns about "implode()" argument order: Restricted Differential Revision.
Oct 17 2019, 4:07 PM · Infrastructure
epriestley added a revision to T13428: PHP 7.4 now warns about "implode()" argument order: Restricted Differential Revision.
Oct 17 2019, 4:05 PM · Infrastructure
epriestley added a revision to T13428: PHP 7.4 now warns about "implode()" argument order: Restricted Differential Revision.
Oct 17 2019, 4:03 PM · Infrastructure
epriestley triaged T13428: PHP 7.4 now warns about "implode()" argument order as Low priority.
Oct 17 2019, 4:03 PM · Infrastructure

Sep 25 2019

epriestley closed T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes as Resolved by committing Restricted Diffusion Commit.
Sep 25 2019, 11:50 PM · Infrastructure
epriestley added a revision to T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes: Restricted Differential Revision.
Sep 25 2019, 10:12 PM · Infrastructure
epriestley added a revision to T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes: Restricted Differential Revision.
Sep 25 2019, 9:40 PM · Infrastructure
epriestley added a revision to T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes: Restricted Differential Revision.
Sep 25 2019, 9:36 PM · Infrastructure
epriestley added a revision to T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes: Restricted Differential Revision.
Sep 25 2019, 9:05 PM · Infrastructure

Sep 18 2019

epriestley triaged T13419: Fully modularize object relationships, to support custom relationships like "Subtask/Parent Task" as Low priority.
Sep 18 2019, 5:12 PM · Infrastructure

Sep 12 2019

epriestley triaged T13414: Raise the effective corpus size limit in "PhutilProseDifferenceEngine" by using "diff" for coarse passes as Low priority.
Sep 12 2019, 7:30 PM · Infrastructure
epriestley added a comment to T13232: Mac OS X Mojave, SIP, Code Signing, and Apache.

For LDAP, brew install openldap + --with-ldap=/usr/local/opt/openldap/.

Sep 12 2019, 5:25 PM · Infrastructure

Sep 8 2019

epriestley added a revision to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY: Restricted Differential Revision.
Sep 8 2019, 8:02 PM · Database, Infrastructure
epriestley added a revision to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY: Restricted Differential Revision.
Sep 8 2019, 7:59 PM · Database, Infrastructure
epriestley added a comment to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY.

Vaguely adjacent:

Sep 8 2019, 7:27 PM · Database, Infrastructure

Sep 7 2019

swisspol added a comment to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY.

Now that we are on RDS I can confirm that MySQL also has ONLY_FULL_GROUP_BY enabled by default.

Sep 7 2019, 1:55 AM · Database, Infrastructure

Sep 5 2019

epriestley closed T13392: Current implementations of "X-Forwarded-For" may take the wrong element as Resolved by committing Restricted Diffusion Commit.
Sep 5 2019, 11:30 AM · Infrastructure
epriestley added a revision to T13392: Current implementations of "X-Forwarded-For" may take the wrong element: Restricted Differential Revision.
Sep 5 2019, 11:26 AM · Infrastructure
epriestley added a comment to T13392: Current implementations of "X-Forwarded-For" may take the wrong element.

Our behavior appears to be correct when the load balancer is an AWS ELB.

Sep 5 2019, 9:57 AM · Infrastructure

Sep 4 2019

epriestley added a revision to T13336: "bin/storage dump" option "--for-replica" might not interact properly with "--no-indexes" and PERSISTENCE_CACHE: Restricted Differential Revision.
Sep 4 2019, 5:08 PM · Infrastructure
swisspol added a comment to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY.

That actually using MySQL official Docker image.

Sep 4 2019, 3:12 AM · Database, Infrastructure

Sep 3 2019

epriestley added a comment to T13404: Make Phabricator compatible with ONLY_FULL_GROUP_BY.

There are only 23 occurrences of the string "GROUP BY" in the codebase, and, from inspection, many obviously do not conflict with ONLY_FULL_GROUP_BY.

Sep 3 2019, 11:54 PM · Database, Infrastructure