Repository navigation
[Diagnostic only] Paired SQL reset database-name pilot on PR2 - #12447
Draft
Prangshuman Das (t-prda) wants to merge 3 commits into
Draft
Prangshuman Das (t-prda) wants to merge 3 commits into
Prangshuman Das (t-prda) wants to merge 3 commits into
Conversation
Related to AB#646383; diagnostic only, does not resolve the work item. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Preserve failed preparation as inconclusive; one replacement pair authorized. Related to AB#646383, diagnostic only. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Contributor
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Diagnostic only — DO NOT MERGE / DO NOT QUEUE
Related context: AB#646383. This experiment does not resolve that work item.
Separate, ungrouped experiment on exact PR #11860 head
c4953dceffe02a017adad34973e1955017bf5d20. This experiment does not modify theexisting native stack, native group 12327, main, or separate authentication experiment #12441.
Base is
features/646383-api-test-uptakeonly for a clean experimental diff.One predeclared paired pilot
GitHub-BCAppsPLW1 Integration containers, 120 minutes per arm / 240 runner-minutes maximum, matrix fail-fast disabled.tenant2,tenant3,tenant4SQL names.CI isolation
This branch intentionally replaces the already-registered CICD.yaml manual entry point with only the bounded pair. It disables normal full-country PR project discovery for this experiment branch only. No automatic dispatch, merge, native-stack enrollment or queue action.
Both arms used the same pinned generic-image digest. Their actual generic banner
is
1.0.2.128; the historic source run logged1.0.2.128-devwithout a digest,so identical image bits to that historical run are not established. A timeout,
setup drift, missing artifact, early assertion or no reproduction is not a fix.
Even control-only reproduction would be just a name-reuse signal; SQL names do
not directly identify NST pool generations.
Validation
git diff --checkclean.srcis byte-for-byte unchanged against pinned PR2.See
build/scripts/SqlResetPilot/README.mdfor the complete protocol and boundaries.Preparation failure and authorized replacement
Initial run: https://github.com/microsoft/BCApps/actions/runs/37493608127
Both arms failed before container creation or AL tests. The experiment incorrectly
specified Windows PowerShell 5.1 instead of the original W1 job's
pwsh7.The platform-index HTTP response could not be parsed because the IE engine was
unavailable. This is a preparation/configuration bug, not a network failure or
SQL outcome. Raw logs and both diagnostic artifacts are preserved; the pair
is inconclusive. Preparation consumed 13m16s + 14m23s = 27m39s runner time.
One replacement pair was explicitly authorized:
https://github.com/microsoft/BCApps/actions/runs/37496613531
Corrected head:
ae6513a3a3b8902513e69af929331c17272a221d.Only experiment workflow configuration and directly related documentation changed:
job/default and all three AL-Go composite action shell inputs now use
pwsh;a preflight requires and records PowerShell 7. No PlatformHelper/vendor code,
global UseBasicParsing setting or shell policy was changed.
Validation on PowerShell 7: 100/100 Pester tests passed, YAML shell/budget
checks passed, and the unchanged
Get-PlatformVersionUrlsuccessfully resolvedthe exact
30.0.55665.0platform index. AL source remains unchanged.Replacement cap: 120 minutes per arm / 240 additional runner-minutes;
cumulative worst-case including failed preparation is 267m39s.
No further pair or failed-job rerun is authorized.
Final paired result: both pass; hypothesis remains inconclusive
Verified completed run: https://github.com/microsoft/BCApps/actions/runs/37496613531
21-codeunit worklist and tenant assignments. JUnit contains 253 case nodes per
arm: 234 actually executed and passed, 19 skipped. One scheduled codeunit,
139972, has all 17 methods skipped, exactly as in the original run; do not count
it as executing assertions. JUnit's suite
tests=0attributes are not reliablecounts here—the figures above come from actual testcase/skip/failure nodes.
Activity Log 9. All method names and skip masks match the original W1 JUnit
artifact
11411405840from run37372848860/ job112207627851.and 131 test packages), with the exact pinned PR2 archive IDs/head. Both actually
used NST
30.0.55665.0, BCH6.1.19-preview2811389, the same pinned image digest,W1 application artifact
30.0.55683.0, PowerShell7.6.6and host OS10.0.26100.0. Historical image identity remains the limitation above.tenant2/3/4; treatment mounted 22 distincttenantN_r37496613531_gGENERATIONdatabase names while preserving the samelogical tenant IDs. Every observed mounted name and subsequent previous-name
mapping matches the recorded ownership chain.
database_idvalues remained 8/9/10 per logical tenant in botharms, and the observed service-broker GUID stayed the same. Fresh names did not
produce fresh IDs/GUIDs. Internal NST database/pool generation remains unobserved.
AcquireSqlConnectionFromPool,NullReferenceExceptionorGetRelativeHelpUrlsignature appeared in either complete uploaded EVTX:10,848 control events, 11,497 treatment events, including image history.
This is bounded captured-log evidence, not a guarantee beyond these executions.
containerRemaining=false;ordinary teardown is also present in both job logs. Raw JUnit, EVTX, worker
output, package manifests and reset timelines are preserved in artifacts
11432130703(control) and11432516529(treatment).The replacement used 150m22s total runner time, or 178m01s cumulative
including the failed 27m39s preparation pair. Both arms stayed below their
120-minute caps. Preparation through first clean dispatch was about 60m05s versus
68m35s; most of the 9m28s wall-time difference existed before the first reset,
so it cannot be attributed to fresh-name reset performance.
Interpretation: the control did not reproduce the fault, and neither did the
treatment. This one W1 pair therefore does not demonstrate that database-name
reuse causes the NRE or that unique names fix it. The source W1 comparator also
passed this prefix. No root-cause/fix claim, merge recommendation, retry, or
additional experiment is implied.