Skip to content

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

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

bert-e merged 25 commits into
development/8.6from
w/8.6/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.6/improvement/ARSN-652-leak-kms-7.10, please follow this
procedure:

 git fetch
 git checkout w/8.6/improvement/ARSN-652-leak-kms-7.10
 # <amend or cancel the changeset by _adding_ new commits>
 git push origin w/8.6/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 75.38%. Comparing base (5775eaa) to head (bd67003).
⚠️ Report is 25 commits behind head on development/8.6.

Additional details and impacted files
@@                 Coverage Diff                 @@
##           development/8.6    #2727      +/-   ##
===================================================
+ Coverage            75.37%   75.38%   +0.01%     
===================================================
  Files                  226      226              
  Lines                18633    18633              
  Branches              3894     3862      -32     
===================================================
+ Hits                 14045    14047       +2     
+ Misses                4583     4581       -2     
  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.

@BourgoisMickael
BourgoisMickael force-pushed the w/8.6/improvement/ARSN-652-leak-kms-7.10 branch from aca7788 to 0714e61 Compare October 7, 2026 16:42
delthas and others added 7 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 bd67003 into development/8.6 Oct 7, 2026
18 of 19 checks passed
@bert-e
bert-e deleted the w/8.6/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