Skip to content

INTEGRATION [PR#2720 > development/8.4] ARSN-652: Backport DataWrapper error improvement & more - #2725

Merged
bert-e merged 21 commits into
development/8.4from
w/8.4/improvement/ARSN-652-leak-kms-7.10
Oct 7, 2026
Merged

bert-e merged 21 commits into
development/8.4from
w/8.4/improvement/ARSN-652-leak-kms-7.10

Conversation

@bert-e

@bert-e bert-e commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

This pull request has been created automatically.
It is linked to its parent pull request #2720.

Do not edit this pull request directly.
If you need to amend/cancel the changeset on branch
w/8.4/improvement/ARSN-652-leak-kms-7.10, please follow this
procedure:

 git fetch
 git checkout w/8.4/improvement/ARSN-652-leak-kms-7.10
 # <amend or cancel the changeset by _adding_ new commits>
 git push origin w/8.4/improvement/ARSN-652-leak-kms-7.10

Please always comment pull request #2720 instead of this one.

BourgoisMickael and others added 15 commits October 2, 2026 15:23
KMS error generated in the data wrapper
will not be returned to client as connection
will be aborted

Cloudserver getObject needs to prepare KMS
calls to handle errors

(cherry picked from commit 471580b)

Edit from the original commit to drop the warning that got
removed later.
From refacto 0d526df for ARSN-128

(cherry picked from commit 81aec71)
- destroy the get stream on get with KMS error
- destroy the get stream on copy (for object and part)
  on both KMS or put error

(cherry picked from commit 0666d2e)
`.pipe()` only forwards data, backpressure and end.
`pipeline` forwards errors and destroy streams for cleanup and prevent socket leak.

Otherwise some socket might stay open for a while until garbage collection
if any issue arise anywhere in the pipeline.

Note: for _put value stream and error downstream is not propagated
this is by design to let the V4Transform drain the incoming HTTP upload stream

(cherry picked from commit 668d8a4)
Bring tests/unit/storage/data/DataWrapper.spec.js as present on
development/8.2+ (03dcf4f), adapted to 7.10:
- uploadPartCopy reads SSE from destBucketMD (no ARSN-485)
- copyObject only skips SSE on strict null (no ARSN-497)
- 7.10 eslint rules: no object spread, comma-dangle
(cherry picked from commit 3058ccd)
SSE is provided in parameter as it must be coming from the MPU overview
instead of the bucket SSE

(cherry picked from commit 6296f6b)
SSE is passed to uploadPartCopy (ARSN-485)
and the KMS error is returned as is (ARSN-503)
@codecov

codecov Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.72%. Comparing base (9ff0079) to head (cef8e81).

Additional details and impacted files
@@               Coverage Diff                @@
##           development/8.4    #2725   +/-   ##
================================================
  Coverage            74.72%   74.72%           
================================================
  Files                  229      229           
  Lines                18582    18582           
  Branches              3847     3847           
================================================
  Hits                 13885    13885           
  Misses                4692     4692           
  Partials                 5        5           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread tests/unit/storage/data/DataWrapper.spec.js Outdated
Comment thread tests/unit/storage/data/DataWrapper.spec.js Outdated
@BourgoisMickael
BourgoisMickael force-pushed the w/8.4/improvement/ARSN-652-leak-kms-7.10 branch from b758d83 to 2162c38 Compare October 7, 2026 16:38
delthas and others added 5 commits October 8, 2026 01:27
The pykmip functional-test image built pykmip from source with the
legacy `python3 setup.py install` (setuptools easy_install), which
resolves dependencies greedily with no backtracking and now fails: a
recent cryptography requires typing-extensions>=4.13.2 while
easy_install has already installed 4.12.2. Use `pip install .` so pip's
resolver installs a coherent set; setup.py install is deprecated anyway.

Issue: ARSN-611
(cherry picked from commit 311365b)
@bert-e
bert-e merged commit cef8e81 into development/8.4 Oct 7, 2026
14 checks passed
@bert-e
bert-e deleted the w/8.4/improvement/ARSN-652-leak-kms-7.10 branch October 7, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants