UTAPI-126: declare levelup, memdown and encoding-down - #1336
Conversation
libV2/client/index.js requires all three at runtime but package.json declared none of them. They resolved only because Yarn 1's hoisting happened to place compatible versions within reach, so which version utapi got was never guaranteed. Under a stricter resolver that luck runs out: migrating Cloudserver to Yarn 4 hoists levelup@0.19.1 instead of 4.4.0, UtapiClient then calls the v4 API against it, and the S3 server dies at startup with "InitializationError: Must provide a location for the database". The declared ranges are the ones already present in yarn.lock as transitive requirements, resolving to the same encoding-down@6.3.0, levelup@4.4.0 and memdown@5.1.0 as before, so the lockfile is unchanged and installs are unaffected. Issue: UTAPI-126
Hello delthas,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Request integration branchesWaiting for integration branch creation to be requested by the user. To request integration branches, please comment on this pull request with the following command: Alternatively, the |
SylvainSenechal
left a comment
There was a problem hiding this comment.
nit: there is this comment that could be removed :
// These modules are added via the level-mem package rather than individually
lint: Berry passes `--` through to the script rather than stripping it,
so `yarn lint -- --max-warnings 0` made eslint treat --max-warnings as a
filename ("No files matching the pattern"). Yarn 1 stripped it.
utapi-v2-tests: utapi requires levelup, memdown and encoding-down but
declares none of them. Yarn 1's hoisting happened to put levelup@4 within
its reach; Berry hoists levelup@0.19, and utapi then calls the v4 API
against it, so the server never starts and the job times out waiting for
port 8000. packageExtensions declares them on utapi's behalf, with the
same ranges as scality/utapi#1336 so the lockfile is untouched.
|
/approve |
|
!done 2h |
|
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
This pull request did not target the following hotfix branch(es) so they
Please check the status of the associated issue UTAPI-126. Goodbye delthas. The following options are set: approve |
|
|
utapi 8.2.7 declares levelup, memdown and encoding-down itself (scality/utapi#1336, UTAPI-126), so Cloudserver no longer has to declare them on its behalf. Verified: levelup still resolves to 4.4.0 with the block removed, and the server starts with ENABLE_UTAPI_V2=t, which is what utapi-v2-tests was timing out on. The bump spans 8.2.4..8.2.7, so it also brings UTAPI-112, UTAPI-122 (which rolls @senx/warp10 back to 1.0.14) and UTAPI-123 -- a git tag cannot be cherry-picked.
libV2/client/index.jsrequireslevelup,memdownandencoding-downat runtime (lines 8-10) butpackage.jsondeclares none of them. They resolve today only because Yarn 1's hoisting happens to place compatible versions within reach.The declared ranges are the ones already in
yarn.lock.(Use case: without this it's hard for Yarn Berry consumers to use this library)
Issue: UTAPI-126