Page MenuHomePhabricator

cspeckmim (Christopher Speck)
Xevioid

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Dec 8 2014, 6:48 PM (416 w, 2 d)
Availability
Available

Software Engineering Lead

MIM Software, Inc.

http://www.mimsoftware.com/

{F1081352}

Recent Activity

May 17 2022

cspeckmim added a comment to T13588: PHP 8 Compatibility.

Thank you!

May 17 2022, 11:28 PM · Infrastructure
cspeckmim added a comment to T13588: PHP 8 Compatibility.

A user just ran into this exception with Arcanist (current master changeset) while running arc diff (using Mercurial) with PHP 8.1. I haven't looked too in depth but it seems similar to other PHP 8.1 issues.

[2022-05-17 20:49:47] EXCEPTION: (RuntimeException) substr(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=master, ref.master=3cc486d5c156)
  #0 PhutilErrorHandler::handleError(integer, string, string, integer)
  #1 substr(NULL, integer, integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:807]
  #2 ArcanistRepositoryAPI::getDisplayHash(NULL) called at [<arcanist>/src/repository/marker/ArcanistRepositoryMarkerQuery.php:67]
  #3 ArcanistRepositoryMarkerQuery::execute() called at [<arcanist>/src/repository/query/ArcanistRepositoryQuery.php:20]
  #4 ArcanistRepositoryQuery::executeOne() called at [<arcanist>/src/repository/api/ArcanistMercurialAPI.php:988]
  #5 ArcanistMercurialAPI::getActiveBookmark() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2253]
  #6 ArcanistDiffWorkflow::buildDiffSpecification() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:380]
  #7 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]
<<< [1] (+8,567) <exec> 8,567,426 us
May 17 2022, 9:01 PM · Infrastructure

May 1 2022

20after4 awarded T13658: How to rebrand Phabricator a Mountain of Wealth token.
May 1 2022, 10:15 PM

Apr 29 2022

cspeckmim added inline comments to D21794: Mostly remove "STDERR" and "STDOUT" constants from Arcanist.
Apr 29 2022, 2:39 AM

Apr 25 2022

cspeckmim abandoned D21712: Trying out removing "Phabricator" from some user-visible text.

👀

Apr 25 2022, 11:17 PM

Apr 23 2022

cspeckmim added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

I find this very intriguing.

Phabricator would benefit from having access certain services (full-text search, full-codebase search, repository graph storage) that very likely aren't practical to write in PHP

Is the purpose of implementing introspection of libraries to allow for building native components that would get picked up and auto-loaded by arcanist?

Apr 23 2022, 4:14 PM · Arcanist

Apr 22 2022

cspeckmim added a comment to T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.

Browsing Diffusion (namely, loading a file while the published changeset is head, and trying to Skip past commit):

I couldn't immediately reproduce this; it's also probably a bit of a messy fix.

I'll plan to investigate further if possible. I believe in this case the repository was running in observed mode rather than hosted in case that might be a factor.

Apr 22 2022, 2:23 AM · Arcanist, Mercurial
cspeckmim awarded T13675: Can Arcanist plausibly be compiled into a binary? a Manufacturing Defect? token.
Apr 22 2022, 2:08 AM · Arcanist

Apr 20 2022

cspeckmim added a comment to D21760: Fix an issue where we may "min()" an empty array when viewing a revision with no changesets.

Ah! lgtm

Apr 20 2022, 6:30 PM
cspeckmim added inline comments to D21760: Fix an issue where we may "min()" an empty array when viewing a revision with no changesets.
Apr 20 2022, 6:01 PM

Mar 15 2022

cspeckmim added a comment to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.

Ah thank you!

Mar 15 2022, 5:19 PM
cspeckmim added a comment to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.

@epriestley - the fix for this landed in the master branch but it doesn't look like that has carried over yet into the GitHub mirror which is used as the install location for most users, and is the current recommendation on https://secure.phabricator.com/book/phabricator/article/arcanist_quick_start/. Is there a delay before the mirror observes the changes or does something need poked for it to propagate?

Mar 15 2022, 4:43 PM

Mar 11 2022

cspeckmim closed T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1 as Resolved by committing rARCf0a2b699ba62: Update arc-hg to support mercurial 6.1.
Mar 11 2022, 6:10 PM
cspeckmim closed D21747: Update arc-hg to support mercurial 6.1.
Mar 11 2022, 6:10 PM
cspeckmim committed rARCf0a2b699ba62: Update arc-hg to support mercurial 6.1 (authored by cspeckmim).
Update arc-hg to support mercurial 6.1
Mar 11 2022, 6:10 PM
cspeckmim retitled D21747: Update arc-hg to support mercurial 6.1 from T13672 - Update arc-hg to support mercurial 6.1 to Update arc-hg to support mercurial 6.1.
Mar 11 2022, 6:00 PM
cspeckmim added a revision to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1: D21747: Update arc-hg to support mercurial 6.1.
Mar 11 2022, 6:00 PM
cspeckmim requested review of D21747: Update arc-hg to support mercurial 6.1.
Mar 11 2022, 5:59 PM
cspeckmim created T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.
Mar 11 2022, 5:09 PM

Dec 9 2021

cspeckmim added a comment to D21741: Add a lint rule forbidding use of "each()".

... and was formally deprecated in PHP 7.4 and removed in PHP 8.0.

The lint emitted says 7.2 (which appears to be correct), a minor inconsistency in the revision description

Dec 9 2021, 10:08 PM

Dec 2 2021

cspeckmim updated the task description for T13669: Discourage use of Mailgun as a mail provider.
Dec 2 2021, 11:18 PM · Guides, Mail
cspeckmim edited the content of 2021 Week 49 (Early December).
Dec 2 2021, 1:36 AM

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 19 2021

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

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

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

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

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
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
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
cspeckmim updated the diff for D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

Update error handling of ArcanistLiberateWorkflow to detect failure from running rebuild-map.php in a separate process.

Sep 5 2021, 1:02 AM
cspeckmim updated the diff for D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

Remove log() entirely, let filesystem errors escape outwardly.

Sep 5 2021, 12:40 AM
cspeckmim closed D21719: Fix searching legalpad documents by contributors.
Sep 5 2021, 12:37 AM
cspeckmim committed rP3b2868e15553: Fix searching legalpad documents by contributors (authored by cspeckmim).
Fix searching legalpad documents by contributors
Sep 5 2021, 12:37 AM
cspeckmim requested review of D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 5 2021, 12:36 AM
cspeckmim updated the summary of D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 5 2021, 12:36 AM
cspeckmim added inline comments to D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.
Sep 5 2021, 12:32 AM
cspeckmim updated the diff for D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

Change approach - remove --verbose, remove --quiet, remove most instances of log() being used, keep the instance when an error is encountered.

Sep 5 2021, 12:29 AM

Sep 4 2021

cspeckmim closed T13634: Support marking commits as UNREACHABLE in Mercurial as Resolved.
Sep 4 2021, 11:55 PM · Diffusion
cspeckmim retitled D21719: Fix searching legalpad documents by contributors from Fix typo in legalpad search engine to Fix searching legalpad documents by contributors.
Sep 4 2021, 11:51 PM
cspeckmim published D21719: Fix searching legalpad documents by contributors for review.

I didn't make a task for this as it's a fairly small change and the reproduction/test case is also fairly simple.

Sep 4 2021, 11:11 PM
cspeckmim committed rP09c3c7d87931: Add support to marking commits as UNREACHABLE for Mercurial (authored by cspeckmim).
Add support to marking commits as UNREACHABLE for Mercurial
Sep 4 2021, 11:05 PM
cspeckmim closed D21715: Add support to marking commits as UNREACHABLE for Mercurial.
Sep 4 2021, 11:05 PM
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

One tangential thing I noticed from the error messages in these cases, in DiffusionHistoryQueryConduitAPIMethod the getMercurialResult() function executes this hg command

$path_args = array();
if (strlen($path)) {
  $path_args[] = $path;
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s))',
    $commit_hash);
} else {
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s)) and branch(%s)',
    $drequest->getBranch(),
    $commit_hash);
}
Sep 4 2021, 11:03 PM · Diffusion
cspeckmim closed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations as Resolved.
Sep 4 2021, 10:51 PM · Diffusion
cspeckmim committed rP458ad4a8617a: Remove history query from DiffusionRepositoryController as it is unused (authored by cspeckmim).
Remove history query from DiffusionRepositoryController as it is unused
Sep 4 2021, 10:51 PM
cspeckmim closed D21717: Remove history query from DiffusionRepositoryController as it is unused.
Sep 4 2021, 10:50 PM
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

With just the updates to the future handling this is now the landing page I see with missing commits:

Screen Shot 2021-09-04 at 6.33.54 PM.png (948×3 px, 180 KB)

Sep 4 2021, 10:50 PM · Diffusion
cspeckmim added a comment to D21717: Remove history query from DiffusionRepositoryController as it is unused.

I tested this out and it works properly, in that there's no noticeable difference between the behavior with this change and without but including the new future updates

Sep 4 2021, 10:48 PM
cspeckmim updated the diff for D21717: Remove history query from DiffusionRepositoryController as it is unused.

Sigh maybe update arcanist too. I ran arc lint before arc diff and it said no lints...

Sep 4 2021, 10:47 PM
cspeckmim updated the diff for D21717: Remove history query from DiffusionRepositoryController as it is unused.

Try again but with arcanist on master

Sep 4 2021, 10:44 PM
cspeckmim updated the diff for D21717: Remove history query from DiffusionRepositoryController as it is unused.

Rebased onto changes (no merge needed tho)

Sep 4 2021, 10:42 PM
cspeckmim retitled D21717: Remove history query from DiffusionRepositoryController as it is unused from Update DiffusionRepositoryController to use appropriate error handling, remove history query to Remove history query from DiffusionRepositoryController as it is unused.
Sep 4 2021, 10:41 PM
cspeckmim added a comment to D21717: Remove history query from DiffusionRepositoryController as it is unused.

I'm working on testing out the issue before/after this change

Sep 4 2021, 10:23 PM
cspeckmim planned changes to D21718: Update "arc liberate" to fix error with PHP 8, remove logging, modify error handling.

I'll do that

Sep 4 2021, 9:38 PM
cspeckmim accepted D21721: Use "MethodCallFuture" to move Diffusion Conduit exceptions to resolution time.

I hadn't considered that having this still use http requests could be done in parallel vs. the clustered running them in serial being faster (theoretically)

Sep 4 2021, 9:34 PM
cspeckmim renamed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations from Improve error-handling behavior of Diffusion repository landing page to Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 4 2021, 9:29 PM · Diffusion
cspeckmim added a comment to D21717: Remove history query from DiffusionRepositoryController as it is unused.

Does that mean the ConduitClientFuture doesn't begin execution until resolve() is called or some other internal mechanism triggered by iterating a FutureIterator?

Right: creating a future doesn't start it (it doesn't make any network connections, launch any subprocesses, etc). Technically, you can start a future explicitly by calling $future->start(), but there's little/no reason to ever do so.

Even if we started futures on creation, the process is ultimately still single-threaded and we don't get any kind of I/O handling "for free" in PHP, so execution must pass into most Futures regularly to make meaningful progress on them: for example, if you just start() an HTTP future and don't return to it, it will probably get about as far as opening a network connection but not actually send any bytes over the wire, so it isn't really executing fully in parallel. Subprocess futures usually don't need as much upkeep as network futures, but they can still stall if the stderr buffer on the child process fills up and the parent process hasn't returned execution into the Future to read the buffer.

Sep 4 2021, 9:04 PM
cspeckmim accepted D21720: Provide "MethodCallFuture" to fix exception semantics in mixed-future contexts.

oops

Sep 4 2021, 9:00 PM
cspeckmim added a comment to D21720: Provide "MethodCallFuture" to fix exception semantics in mixed-future contexts.

I looked at Future to see how isReady() plays into other parts and this looks good! Thank you!

Sep 4 2021, 8:59 PM
cspeckmim planned changes to D21717: Remove history query from DiffusionRepositoryController as it is unused.
Sep 4 2021, 8:22 PM