Page MenuHomePhabricator
Feed All Stories

Nov 22 2021

epriestley closed T13653: After an AWS event, Phacility hosts may come up with swap only partially configured as Resolved.

This appears resolved: the workflow now tests that /proc/meminfo reports an appropriate value for TotalSwap.

Nov 22 2021, 2:02 PM · Phacility
epriestley committed rARCc23222438b30: (stable) Provide an API for parsing swap information from "/proc/meminfo" (authored by epriestley).
(stable) Provide an API for parsing swap information from "/proc/meminfo"
Nov 22 2021, 1:45 PM
epriestley closed D21733: Provide an API for parsing swap information from "/proc/meminfo".
Nov 22 2021, 1:45 PM
epriestley committed rARCc53bb21bbd3e: Provide an API for parsing swap information from "/proc/meminfo" (authored by epriestley).
Provide an API for parsing swap information from "/proc/meminfo"
Nov 22 2021, 1:45 PM
epriestley added a comment to D21733: Provide an API for parsing swap information from "/proc/meminfo".

This overlaps somewhat with PhutilSystem::getSystemMemoryInformation(), but that mechanism is narrower and also doesn't really work in practice, so it would probably be reasonable to remove it entirely.

Nov 22 2021, 1:43 PM
epriestley updated the diff for D21733: Provide an API for parsing swap information from "/proc/meminfo".

Satisfy lint by catching and re-throwing Throwable.

Nov 22 2021, 1:32 PM
epriestley requested review of D21733: Provide an API for parsing swap information from "/proc/meminfo".
Nov 22 2021, 1:30 PM
epriestley added a revision to T13653: After an AWS event, Phacility hosts may come up with swap only partially configured: D21733: Provide an API for parsing swap information from "/proc/meminfo".
Nov 22 2021, 1:30 PM · Phacility

Nov 21 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Just for completeness, vault used to be an HAProxy host serving as an SSH load balancer, but this responsibility moved to lb001 once ELBs became able to listen on inbound port 22 and TCP forward, so there is no longer a vault class of machines.

Nov 21 2021, 3:55 PM · Almanac, Infrastructure, Phacility

Nov 20 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

The new provisioning process for repository shards is:

Nov 20 2021, 9:02 PM · Almanac, Infrastructure, Phacility

Nov 19 2021

epriestley closed D21732: Allow "PhutilAWSException" to identify "EBS: Not Found" errors.
Nov 19 2021, 10:55 PM
epriestley committed rARC7cbdf378198b: Allow "PhutilAWSException" to identify "EBS: Not Found" errors (authored by epriestley).
Allow "PhutilAWSException" to identify "EBS: Not Found" errors
Nov 19 2021, 10:55 PM
epriestley requested review of D21732: Allow "PhutilAWSException" to identify "EBS: Not Found" errors.
Nov 19 2021, 10:28 PM
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: D21732: Allow "PhutilAWSException" to identify "EBS: Not Found" errors.
Nov 19 2021, 10:27 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 19 2021, 10:24 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Piledriver was built before the FutureGraph stuff settled in T11968; it runs into the same general set of sequencing problems and yield would likely be a good approach.

Nov 19 2021, 10:22 PM · Almanac, Infrastructure, Phacility
epriestley committed rP8103d361774c: Remove "bin/celerity" dependency on database setup (authored by epriestley).
Remove "bin/celerity" dependency on database setup
Nov 19 2021, 6:11 PM
epriestley closed D21730: Remove "bin/celerity" dependency on database setup.
Nov 19 2021, 6:11 PM
epriestley added a comment to D21730: Remove "bin/celerity" dependency on database setup.

See also D19941, which removed a dependency that did previously exist.

Nov 19 2021, 6:10 PM
epriestley requested review of D21730: Remove "bin/celerity" dependency on database setup.
Nov 19 2021, 5:58 PM

Nov 18 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I can't figure out how to delete...

Nov 18 2021, 7:24 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

I got rid of everything I could, and nothing appears to be affected.

Nov 18 2021, 7:20 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

We have a lot of leftover VPC cruft that I'm going to nuke, notably meta and admin VPCs that (as far as I can tell) have nothing in them, and then a bunch of subnets (meta.private-a, meta.private-b, block-public-222, admin.public-a, admin.public-b, meta.public-a, meta.public-b, block-private-3) and some NGWs etc. I'm like 99% sure this stuff is all leftover from testing years ago and nothing depends on it, but I guess we'll see what happens when I delete all of it.

Nov 18 2021, 6:55 PM · Almanac, Infrastructure, Phacility
epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

Here's the last known state of the world from T12816:

Nov 18 2021, 6:49 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 6:26 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 6:21 PM · Almanac, Infrastructure, Phacility
epriestley added a revision to T13630: Move Phacility provisioning to Piledriver: Unknown Object (Differential Revision).
Nov 18 2021, 5:15 PM · Almanac, Infrastructure, Phacility

Nov 17 2021

epriestley added a comment to T13630: Move Phacility provisioning to Piledriver.

See also NAT carryover from T12816, via T13542.

Nov 17 2021, 8:02 PM · Almanac, Infrastructure, Phacility
epriestley closed T13542: Rebalance Phacility instances into a private subnet as Resolved.

Closing this in favor of T13630, which covers the same ground.

Nov 17 2021, 8:02 PM · Phacility

Nov 16 2021

epriestley closed D21726: Provide missing "AlmanacInterfaceTransactionQuery".
Nov 16 2021, 7:48 PM
epriestley committed rPc7b04170fedc: Provide missing "AlmanacInterfaceTransactionQuery" (authored by epriestley).
Provide missing "AlmanacInterfaceTransactionQuery"
Nov 16 2021, 7:48 PM
epriestley requested review of D21726: Provide missing "AlmanacInterfaceTransactionQuery".
Nov 16 2021, 7:47 PM

Nov 15 2021

epriestley added a comment to T13654: Wind Down Phacility Operations.

I'm planning to simply delete the Discourse forum without preserving any content.

Nov 15 2021, 4:22 PM · Phacility

Oct 29 2021

cburroughs awarded D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+ a Party Time token.
Oct 29 2021, 2:47 PM

Oct 23 2021

emiraga added a comment to T2794: Implement Phage (like Hypershell).

Thank you for the answer, appreciate it, and your effort that goes into arcanist.

Oct 23 2021, 11:06 AM · Phage, Infrastructure

Oct 21 2021

epriestley added a comment to T2794: Implement Phage (like Hypershell).

The non-public parts of Phage are currently very specific to Phacility's cluster and probably not generally useful. The current version of PhageRemoteWorkflow is similar to P2107 and depends on particular Phacility services and hosts to enumerate valid remotes and negotiate a connection to them through a bastion pool. These service-listing and bastion-host components are not generalized and not trivially generalizable.

Oct 21 2021, 8:00 PM · Phage, Infrastructure
emiraga added a comment to T2794: Implement Phage (like Hypershell).

It seem to me like certain parts of phage are not published in a public repo. Are there plans to open up missing pieces?

Oct 21 2021, 6:37 PM · Phage, Infrastructure

Oct 19 2021

epriestley added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".
  1. As Alice, commandeer a revision authored by Baliey and reviewed by Claire. Edit it locally to do arbitrary bad things, then git push it.
  2. Make a commit, edit the commit message to say Differential Revision: D1234, where D1234 is a current, valid, accepted revision authored by anyone, then git push it.
Oct 19 2021, 6:25 PM · Differential
epriestley added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".

I believe it is extremely difficult to configure Phabricator to provide the assurance you describe, particularly if arc land does anything. If you are actually providing this guarantee ("an attacker needs two machines"), you can likely add a clause to the large amount of custom code you've written to prevent self-foisting while still supporting other foisting use cases. If you haven't written a large amount of custom code, I suspect an attacker can fairly easily deploy with one machine without using "Foist Upon".

Oct 19 2021, 6:18 PM · Differential
ptarjan added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".

Is there a way to disable this feature? Our security team has noticed that with this feature we can land code with just a single person's machine being compromised (we rely on an attacker needing two machines to deploy code as a safety mechanism). I.e. You make a revision, Foist it on someone, Approve it, then arc land it as the other person (saying y to the prompt).

Oct 19 2021, 5:48 PM · Differential
cspeckmim added a comment to D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.

Just making a note that I did test git a while back and saw behavior that I wasn't expecting; I haven't had a chance to dig further into this. I'm not super familiar with how to visualize the commit graph in git to confirm this but I believe what happened is a graph that looked like this

A  B
| /
C
|
D  (master)
Oct 19 2021, 2:51 AM

Oct 3 2021

0 published D21725: Hide event start times on subsequent days for review.
Oct 3 2021, 10:45 PM · Calendar

Oct 1 2021

epriestley added a comment to D21425: Streamline handling of Futures and PIDs in daemons.

The Future stuff is used on both the client and server, so it lives in Arcanist rather than Phabricator. The method definition should be here:

Oct 1 2021, 9:49 PM
jmeador added inline comments to D21425: Streamline handling of Futures and PIDs in daemons.
Oct 1 2021, 9:25 PM

Sep 28 2021

epriestley added a comment to T13588: PHP 8 Compatibility.

See also T12404#256288 for a note on each removal.

Sep 28 2021, 2:41 PM · Infrastructure
epriestley added a comment to T12404: Implement a first-party SMTP client.

each is usually easy to replace and I'm happy to accept a change to replace it if someone wants to reproduce/test it. I believe this (totally ridiculous) construction:

Sep 28 2021, 2:40 PM · Infrastructure, Mail
avivey added a comment to T13588: PHP 8 Compatibility.

From https://discourse.phabricator-community.org/t/sending-emails-causes-an-exception/4966, looks like the PHPMailer uses each which is removed in php 8.

Sep 28 2021, 7:57 AM · Infrastructure
avivey added a comment to T12404: Implement a first-party SMTP client.

From https://discourse.phabricator-community.org/t/sending-emails-causes-an-exception/4966, it appears that both class.smtp.php and class.phpmailer-lite.php have calls to each which is removed in PHP 8.

Sep 28 2021, 7:55 AM · Infrastructure, Mail

Sep 24 2021

cspeckmim planned changes to D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.

Marking Plan Changes until I test this out in Git

Sep 24 2021, 4:05 PM

Sep 23 2021

cspeckmim updated the diff for D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.

Remove the $obsolete_map and $rebasedActiveCommit and just use $rebasedCommitMap

Sep 23 2021, 3:39 AM
cspeckmim planned changes to D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.
Sep 23 2021, 3:23 AM
cspeckmim requested review of D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.
Sep 23 2021, 3:09 AM
cspeckmim added a revision to T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits: D21724: Update Mercurial's cascading of commit sets to rebase non-landed commits.
Sep 23 2021, 3:09 AM · Mercurial, Arcanist

Sep 22 2021

cspeckmim updated the task description for T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:10 AM · Mercurial, Arcanist
cspeckmim created T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:06 AM · Mercurial, Arcanist

Sep 18 2021

cspeckmim added a comment to D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.

The second baby has arrived

aw smile.png (100×100 px, 6 KB)
dancing duck.gif (280×498 px, 2 MB)

Sep 18 2021, 2:02 AM

Sep 17 2021

epriestley added a comment to D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.

The second baby has arrived so I have about 17 seconds per day to look at my computer nowadays, but I think it would also be reasonable to backfill str_starts_with() if you run into more of this -- the strncmp() syntax has always felt pretty hard to read to me. You can do that in PHP like this:

Sep 17 2021, 1:02 PM
cspeckmim closed D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 17 2021, 3:03 AM
cspeckmim committed rARCa028291f8e5e: Make corrections to the "arc amend" workflow in Mercurial repositories to be… (authored by cspeckmim).
Make corrections to the "arc amend" workflow in Mercurial repositories to be…
Sep 17 2021, 3:03 AM
cspeckmim retitled D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+ from Make corrections to the "arc amend" workflow used with Mercurial repositories to Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 17 2021, 3:02 AM
cspeckmim updated the summary of D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 17 2021, 3:01 AM
epriestley accepted D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 17 2021, 2:20 AM

Sep 16 2021

cspeckmim updated the diff for D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.

Switch to using strncmp()

Sep 16 2021, 6:57 PM
cspeckmim requested review of D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 16 2021, 6:55 PM
cspeckmim added a revision to T13665: The "arc amend" workflow does not work on Mercurial repositories: D21723: Make corrections to the "arc amend" workflow in Mercurial repositories to be compatible with PHP 5+.
Sep 16 2021, 6:54 PM · Mercurial, Arcanist
cspeckmim added inline comments to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.
Sep 16 2021, 6:35 PM

Sep 14 2021

cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:59 PM · Arcanist, Mercurial
cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:55 PM · Arcanist, Mercurial
cspeckmim created T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:49 PM · Arcanist, Mercurial

Sep 13 2021

epriestley added inline comments to D21680: An assortment of fixes and updates to using arc-land with mercurial.
Sep 13 2021, 9:28 PM
cspeckmim added inline comments to D21680: An assortment of fixes and updates to using arc-land with mercurial.
Sep 13 2021, 5:58 PM

Sep 7 2021

cspeckmim retitled D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling from Update "arc liberate" to fix error with PHP 8 and add "--verbose" argument to adjust it to Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 7 2021, 6:02 PM

Sep 5 2021

cspeckmim closed T13665: The "arc amend" workflow does not work on Mercurial repositories as Resolved by committing rARCd246a0656259: Update ArcanistMercurialAPI to support getting the current commit ref.
Sep 5 2021, 7:25 PM · Mercurial, Arcanist
cspeckmim closed D21716: Update ArcanistMercurialAPI to support getting the current commit ref.
Sep 5 2021, 7:25 PM
cspeckmim committed rARCd246a0656259: Update ArcanistMercurialAPI to support getting the current commit ref (authored by cspeckmim).
Update ArcanistMercurialAPI to support getting the current commit ref
Sep 5 2021, 7:25 PM
cspeckmim added a comment to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

I played around with this some more and this feels pretty solid for resolving most common symbols. I'll poke around some of the mercurial source a bit later this week and see if I can find an easy way for resolving revset/symbols easily though a custom extension.

Sep 5 2021, 6:01 PM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Don't bother trying to lookup bookmark/tag names when the symbol is a number as Mercurial disallows this. Also fix the revision number mapping which somehow worked? But still does now...

Sep 5 2021, 5:48 PM
cspeckmim updated the test plan for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.
Sep 5 2021, 5:34 PM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Fix not being able to lookup commit by symbol 0

Sep 5 2021, 5:33 PM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Include support for revision number and hash-prefix symbols

Sep 5 2021, 5:16 PM
cspeckmim added a comment to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

The "symbol" here could, in the absolute-most-general case, be a short commit hash (abcd1234) or symbolic commit (tip^^^) -- not just a bookmark or tag name -- so I think this trick (though quite clever) may run into trouble some day.

Oh yea... hmm I think it's possible to include support for commit hashes (or prefixes) as well as revision ID -- I'll try out a change real quick to see if it's simple to include support for those symbols at least. Any relativity modifiers ^^ I think are effectively impossible to handle without resorting to individual hg log commands or an extension

Sep 5 2021, 4:36 PM
epriestley accepted D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

The "symbol" here could, in the absolute-most-general case, be a short commit hash (abcd1234) or symbolic commit (tip^^^) -- not just a bookmark or tag name -- so I think this trick (though quite clever) may run into trouble some day. This looks like a reasonable fix to the immediate issue, though, and we can cross this bridge if/when we come to it.

Sep 5 2021, 3:29 PM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

More-correct formatting for the revset

Sep 5 2021, 7:10 AM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Update the revsets used to work around potentially invalid symbols from preventing all symbols from resolving

Sep 5 2021, 7:05 AM
cspeckmim added a comment to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Ooh actually it looks like this will work

$ hg log --revset "bookmark('re:^symbol$') or tag('re:^symbol$')"

Doing that doesn't fail if the symbol doesn't exist

Sep 5 2021, 6:45 AM
cspeckmim added a comment to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Hmm could maybe do something like hg log --rev 'bookmark() or tag() or .' to just get every commit that has a potential symbol and then process those. It would end up getting more results than necessary in every case. The query runs relatively quickly (~230ms) on our ~128k commit repository but it only has ~550 tags which I'm guessing is low -- if we tagged every build we'd have ~15k.

Sep 5 2021, 6:32 AM
cspeckmim added a comment to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Not yet handling the case where an invalid symbol results in failing to lookup any symbols

I didn't see any obvious way of doing this through revsets but I'll try some more experiments. An extension that adds a template keyword, or just a new command for this, might also be an option

Sep 5 2021, 6:11 AM
cspeckmim updated the summary of D21716: Update ArcanistMercurialAPI to support getting the current commit ref.
Sep 5 2021, 6:04 AM
cspeckmim planned changes to D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Not yet handling the case where an invalid symbol results in failing to lookup any symbols

Sep 5 2021, 6:01 AM
cspeckmim updated the diff for D21716: Update ArcanistMercurialAPI to support getting the current commit ref.

Provide implementation of ArcanistMercurialCommitSymbolCommitHardpointQuery to enable hardpoint queries for commit symbols.

Sep 5 2021, 6:00 AM
cspeckmim closed D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 5 2021, 1:22 AM
cspeckmim committed rARCcd17e8441214: Update "arc liberate" to fix error with PHP 8 and add "--verbose" argument to… (authored by cspeckmim).
Update "arc liberate" to fix error with PHP 8 and add "--verbose" argument to…
Sep 5 2021, 1:22 AM
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

So that part is correct, but swapping the commit and branch was incidental, and I overlooked it because we usually get the same result: in common cases, this is moot because ancestors(<branch name>) is equivalent to ancestors(<heads of that branch>), and branch(<commit hash>) is equivalent to branch(<branch of that commit>). The latter is always equivalent; the former is equivalent when commit is the single head of branch, which it almost always is in regular use.

But this behavior (on this install) is unambiguously wrong:

Screen Shot 2021-09-04 at 5.28.41 PM.png (1×2 px, 407 KB)

...since b7be5c961297 (the parameter) is an ancestor of 162a9c1e8e44 (the first commit in the result set). I'll send you a diff.

Sep 5 2021, 1:21 AM · Diffusion
epriestley committed rPb9ba0418ed13: Correct a parameter order swap in "diffusion.historyquery" for Mercurial (authored by epriestley).
Correct a parameter order swap in "diffusion.historyquery" for Mercurial
Sep 5 2021, 1:16 AM
epriestley closed D21722: Correct a parameter order swap in "diffusion.historyquery" for Mercurial.
Sep 5 2021, 1:16 AM
epriestley accepted D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 5 2021, 1:16 AM
cspeckmim added a comment to D21722: Correct a parameter order swap in "diffusion.historyquery" for Mercurial.

Thanks for checking this out

Sep 5 2021, 1:09 AM
cspeckmim accepted D21722: Correct a parameter order swap in "diffusion.historyquery" for Mercurial.
Sep 5 2021, 1:09 AM
cspeckmim added a comment to D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

Err, I updated the error message after running those cases so it no longer says "Failed liberating:" but "Failed to update library:"

Sep 5 2021, 1:08 AM
cspeckmim requested review of D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

Sorry I made a side-stop checking out the error-handling behavior from ArcanistLiberateWorkflow - I made some updates so it can detect the failure to avoid indicating success.

Sep 5 2021, 1:06 AM