Page MenuHomePhabricator

Update wmf/stable to Phorge upstream's 2023.49 stable release
Closed, ResolvedPublic

Description

This has been out since December, as mentioned at T344835#9498781.

Release details:

Stubbing this task for now, will add detail as I go.

Details

TitleReferenceAuthorSource BranchDest Branch
update arcanist and phabricator submodules for 2023-03-11 releaserepos/phabricator/deployment!35brennenwork/2024-03-11-releasewmf/stable
Draft: Merge phorge/stable at 2023.49 into wmf/stablerepos/phabricator/phabricator!35brennenwork/merge-phorge-2023.49wmf/stable
Customize query in GitLab

Related Objects

Event Timeline

brennen renamed this task from Update to Phorge upstream's 2023.49 stable release to Update wmf/stable to Phorge upstream's 2023.49 stable release.Feb 27 2024, 7:15 PM

This is probably the very first version requiring the usual database upgrade script, since it improves search engine for repository names.

https://we.phorge.it/D25430

https://we.phorge.it/T15583

So maybe double-checking that ./bin/storage upgrade is called.

Noting that I'm deploying a release branch for repos/phabricator/phabricator this time rather than wmf/stable:

https://gitlab.wikimedia.org/repos/phabricator/phabricator/-/tree/wmf/2024-03-11

This is probably the pattern we'll move to generally, although in this case it's a temporary merge-based state until I finish sorting commits into something that can be rebased or cherry-picked every time.

Icinga downtime and Alertmanager silence (ID=32334dd4-8e49-4850-8ec1-a894dbff453b) set by jelto@cumin1002 for 0:30:00 on 1 host(s) and their services with reason: Phabricator/Phorge update

phab2002.codfw.wmnet

Icinga downtime and Alertmanager silence (ID=b485f4ff-a3d9-4d3e-9220-42f9967a1c08) set by jelto@cumin1002 for 0:30:00 on 1 host(s) and their services with reason: Phabricator/Phorge update

phab1004.eqiad.wmnet

Mentioned in SAL (#wikimedia-operations) [2024-03-19T15:30:33Z] <brennen> starting phabricator/phorge update (T358610)

Mentioned in SAL (#wikimedia-operations) [2024-03-19T15:30:37Z] <brennen@deploy2002> Started deploy [phabricator/deployment@9617e09]: deploy to phab2002 for T358610

Mentioned in SAL (#wikimedia-operations) [2024-03-19T15:31:00Z] <brennen@deploy2002> Finished deploy [phabricator/deployment@9617e09]: deploy to phab2002 for T358610 (duration: 00m 23s)

Mentioned in SAL (#wikimedia-operations) [2024-03-19T15:31:27Z] <brennen@deploy2002> Started deploy [phabricator/deployment@9617e09]: deploy to phab1004 for T358610

Mentioned in SAL (#wikimedia-operations) [2024-03-19T15:32:47Z] <brennen@deploy2002> Finished deploy [phabricator/deployment@9617e09]: deploy to phab1004 for T358610 (duration: 01m 19s)

I'm seeing a handful of these in logs:

PHP message: [2024-03-19 15:55:08] EXCEPTION: (PhabricatorDataNotAttachedException) Attempting to access attached data on PhabricatorProject, but the data is not actually attached. Before accessing attachable data on an object, you must load and attach it.\n\nData is normally attached by calling the corresponding needX() method on the Query class when the object is loaded. You can also call the corresponding attachX() method explicitly. at [<phorge>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:283]PHP message: arcanist(), ava(), phorge(), translations(), wmf-ext-misc()PHP message:   #0 <#2> PhabricatorLiskDAO::assertAttachedKey(array, string) called at [<phorge>/src/applications/project/storage/PhabricatorProject.php:210]PHP message:   #1 <#2> PhabricatorProject::isUserMember(string) called at [<phorge>/src/applications/project/storage/PhabricatorProject.php:147]PHP message:   #2 <#2> PhabricatorProject::hasAutomaticCapability(string, PhabricatorUser) called at [<phorge>/src/applications/policy/filter/PhabricatorPolicyFilter.php:539]PHP message:   #3 <#2> PhabricatorPolicyFilter::checkCapability(PhabricatorProject, string) called at [<phorge>/src/applications/policy/filter/PhabricatorPolicyFilter.php:268]PHP message:   #4 <#2> PhabricatorPolicyFilter::apply(array) called at [<phorge>/src/applications/policy/filter/PhabricatorPolicyFilterSet.php:93]PHP message:   #5 <#2> PhabricatorPolicyFilterSet::resolveCapabilities() called at [<phorge>/src/applications/policy/filter/PhabricatorPolicyFilterSet.php:54]PHP message:   #6 <#2> PhabricatorPolicyFilterSet::hasCapability(PhabricatorUser, PhabricatorProject, string) called at [<phorge>/src/applications/people/markup/PhabricatorMentionRemarkupRule.php:119]PHP message:   #7 <#2> PhabricatorMentionRemarkupRule::didMarkupText() called at [<phorge>/src/infrastructure/markup/remarkup/PhutilRemarkupEngine.php:362]PHP message:   #8 <#2> PhutilRemarkupEngine::postprocessText(array) called at [<phorge>/src/infrastructure/markup/PhabricatorMarkupEngine.php:164]PHP message:   #9 <#2> PhabricatorMarkupEngine::execute() called at [<phorge>/src/infrastructure/markup/PhabricatorMarkupEngine.php:111]PHP message:   #10 <#2> PhabricatorMarkupEngine::process() called at [<phorge>/src/infrastructure/markup/PhabricatorMarkupEngine.php:75]PHP message:   #11 <#2> PhabricatorMarkupEngine::renderOneObject(PhabricatorMarkupOneOff, string, PhabricatorUser, PhabricatorProject) called at [<phorge>/src/infrastructure/markup/view/PHUIRemarkupView.php:87]PHP message:   #12 <#2> phutil_tag(string, array, PHUIRemarkupView) called at [<phorge>/src/applications/project/view/PhabricatorProjectCardView.php:87]PHP message:   #13 <#2> phutil_escape_html(PhabricatorProjectCardView) called at [<phorge>/src/infrastructure/markup/render.php:139]PHP message:   #14 <#2> phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]PHP message:   #15 <#2> phutil_tag(string, array, array) called at [<phorge>/src/infrastructure/javelin/markup.php:70]PHP message:   #16 <#2> javelin_tag(string, array, array) called at [<phorge>/src/view/AphrontTagView.php:161]PHP message:   #17 <#2> AphrontTagView::render() called at [<phorge>/src/view/AphrontView.php:222]PHP message:   #18 <#2> AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]PHP message:   #19 <#2> phutil_escape_html(PHUIHovercardView)PHP message:   #20 <#2> array_map(string, array) called at [<phorge>/src/infrastructure/markup/render.php:185]PHP message:   #21 <#2> hsprintf(string, PHUIHovercardView) called at [<phorge>/src/aphront/response/AphrontResponse.php:326]PHP message:   #22 <#2> AphrontResponse::processValueForJSONEncoding(PHUIHovercardView, string)PHP message:   #23 <#2> array_walk_recursive(array, array) called at [<phorge>/src/aphront/response/AphrontResponse.php:342]PHP message:   #24 <#2> AphrontResponse::encodeJSONForHTTPResponse(array) called at [<phorge>/src/aphront/response/AphrontAjaxResponse.php:58]PHP message:   #25 <#2> AphrontAjaxResponse::buildResponseString() called at [<phorge>/src/aphront/response/AphrontResponse.php:70]PHP message:   #26 <#2> AphrontResponse::getContentIterator() called at [<phorge>/src/aphront/sink/AphrontHTTPSink.php:112]PHP message:   #27 <#2> AphrontHTTPSink::writeResponse(AphrontAjaxResponse) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:380]PHP message:   #28 <#2> AphrontApplicationConfiguration::writeResponse(AphrontPHPHTTPSink, AphrontAjaxResponse) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:303]PHP message:   #29 phlog(PhabricatorDataNotAttachedException) called at [<phorge>/src/aphront/handler/PhabricatorAjaxRequestExceptionHandler.php:27]PHP message:   #30 PhabricatorAjaxRequestExceptionHandler::handleRequestThrowable(AphrontRequest, PhabricatorDataNotAttachedException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751]PHP message:   #31 AphrontApplicationConfiguration::handleThrowable(PhabricatorDataNotAttachedException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:337]PHP message:   #32 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204]PHP message:   #33 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]

Unclear as to what's actually affected.

Noting that I'm deploying a release branch for repos/phabricator/phabricator this time rather than wmf/stable:

https://gitlab.wikimedia.org/repos/phabricator/phabricator/-/tree/wmf/2024-03-11

This is probably the pattern we'll move to generally, although in this case it's a temporary merge-based state until I finish sorting commits into something that can be rebased or cherry-picked every time.

@brennen: How to get the default wmf/stable branch to also display what's currently on the server?
It's a bit confusing at first:
Stacktrace above says phutil_tag(string, array, PHUIRemarkupView) called at [<phorge>/src/applications/project/view/PhabricatorProjectCardView.php:87] and https://phabricator.wikimedia.org/source/phabricator/browse/wmf%252Fstable/src/applications/project/view/PhabricatorProjectCardView.php mirrored from https://gitlab.wikimedia.org/repos/phabricator/phabricator does not have 87 lines. That's likely only in work/merge-phorge-2023.49 and wmf/2024-03-11.

@brennen: How to get the default wmf/stable branch to also display what's currently on the server?

I've updated wmf/stable to reflect the currently deployed wmf/2024-03-11 - I still think we'll probably move to a release branch model here, but no reason to have it be as confusing in the meanwhile.

It seems T360663: Tag links giving 404s might be fallput from this upgrade?

We've concluded that one's pre-existing.

At this point the fallout I know of from this deploy is just:

Resolving this ticket as we won't roll back.