See also T13646: some very early service calls during initialization currently occur before --trace becomes active. These calls should be visible, possibly by buffering them and then dumping the buffer once --trace comes online.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Apr 20 2022
Browsing Revision
PHP 8.1 disallows strlen(null).
Apr 19 2022
This was resolved by D21452. PHI1880 has some unrelated additional plans.
I deployed this and it seems to be working properly.
Hey, it worked once. Good enough for me!
No dice. We need bin/upgrade to run before mysql because it has to mount the data volume. So now I'm trying this:
... service ... start rather than service ... restart ...
...probably tested...
Apr 14 2022
I deployed this everywhere in the Phacility cluster yesterday and things have been quiet, so I'm assuming it worked until evidence arises to the contrary.
Apr 13 2022
With max_connections at 1024, the server above still looks fine after ~14 days:
D21756 effectively makes all Git pathways call setSudoAsDaemon(true).
Just for visibility, the error messages you'll see if you're affected by this issue look something like this:
...maybe this is an actual bug in Phabricator where some pathways are just missing the "sudo" wrapper?
Apr 1 2022
Elsewhere, I compacted Phacility free instances onto a small number of database servers. I attempted to "fill up" these servers, and succeeded, sort of, but maybe too much -- they eventually fall over and need to be rebooted.
This has some rough edges that I'm not going to deal with for now:
Mar 24 2022
Will this work will with Phabricator?
Mar 15 2022
GitHub was refusing mirror pushes with a credential issue (see also T12896, vaguely). I'm not entirely sure which side of things changed, but the config was set up in a previous-generation way anyway (through a "bot" account instead of a "Deploy Key") so I updated things. Looks like mirroring is back online now and this change has propagated.
Dec 19 2021
See T12847. All the technical parts of this are now solved except for billing, but since Phacility is winding down I no longer plan to pursue it.
I resolved this in rCORE320b2854.
After T13630:
Only one instance was impacted by this and I just credited them until 2099. I don't currently expect to pursue this.
I no longer expect to pursue this.
- Hosts in the repo class are now build by Piledriver (see T13630), which automatically creates the rbak device entries, so this error isn't likely to occur again.
- I also don't expect to launch any more hosts.
I just swapped configs over without merging the LBs, since it wasn't immediately obvious to me what the Application vs Classic state of the world is and swapping was good enough.
The aphlict/notify stuff still needs to be tweaked. I think the snlb + slb setup can be merged into a single slb with "TCP (Secure)" forwarding now.
Databases are moved and secure is out of read-only mode. I'm going to adjust repository configuration, then I should be able to tear down secure001.
I'm going to put secure back into read-only mode now and move the databases to the new host.
I brought up the new host and pointed the slb001 load balancer at it. The database is still on the old host, and the new host doesn't have repositories yet, but the basics seem to be working.
Dec 18 2021
Merging 003 into 001 worked fine with a few expected tricks (e.g., when secure is in read-only mode, you can't push a change to take it out of read-only mode, since pushing is a write). Next up is launching a modern m4.large secure-pool host and then migrating the data.
I'm putting secure into read-only mode now, with the intent of completing steps 1-5 above.
Dec 17 2021
Dec 16 2021
PHP 8.1 changed semantics of static variables in methods. See:
See also T13588. Using static::class to work around changes to the scope of static in PHP 8.1 is also possible now that PHP 5.5 is the minimum version, and some uses of get_class($this) might be replaceable. There's no strong motivator for this, it's just a little cleaner.
See also T13588.
It would still be nice to have this from a completeness/correctness perspective, but other changes have made it less valuable:
Dec 14 2021
...possibly, but not conclusively, a result of an SSH version upgrade...
Dec 11 2021
I put all the database migration stuff everywhere and it appears stable. I'm hooking up Postmark as an outbound pathway now. If I get that working, I'll let it sit for a while and start migrating databases.
Dec 10 2021
Finally, there are other some MySQL version issues which can be avoided with:
Dec 9 2021
The new core/ support for the API is partially deployed; the new services/ support isn't anywhere yet.
See also T13232. Here's a possible build strategy for PHP 8.1 under macOS Mojave. Anyone reasonable should probably give up and use brew instead.
Dec 8 2021
Dec 4 2021
The latest version of Phabricator itself is everywhere.
I'm going to hold it until the weekend and try deploying then if things look calm on my end.
Dec 2 2021
I'm satisfied that we aren't violating our commitment to our customers by continuing to use Mailgun as a service provider...
Purely venting, but the advanced version of "click here to schedule a mysterious meeting" is to outright lie -- pretending that you deeply respect the recipient's achievements -- before asking them to schedule a mysterious meeting.
Dec 1 2021
While waiting to deploy db stuff, I was planning to look at pruning dead data out of S3 -- but, on closer examination, the total S3 bill is something like $1/day, so no priority on that whatsoever.
Piledriver also needs to be able to provision database hosts, but these are more-or-less a trivial subset of repository hosts.
- Make InstancesStateQuery use a dictionary when building the database ref information internally.
Piledriver also needs to be able to provision database hosts, but these are more-or-less a trivial subset of repository hosts.
I completed all the repository migrations over the weekend and seemingly haven't run into any issues.
Nov 22 2021
This appears resolved: the workflow now tests that /proc/meminfo reports an appropriate value for TotalSwap.
Nov 21 2021
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 20 2021
The new provisioning process for repository shards is: