Skip to content

Conversation

@kavilla
Copy link
Member

@kavilla kavilla commented Feb 28, 2025

Description

Upgrading the Node.js version used from 18.x to the latest LTS version 20.x.

Issues Resolved

closes #8463

Screenshot

n/a

Testing the changes

local and ci

Changelog

  • fix: upgrade to Node.js v20

Check List

  • All tests pass
    • yarn test:jest
    • yarn test:jest_integration
  • New functionality includes testing.
  • New functionality has been documented.
  • Update CHANGELOG.md
  • Commits are signed per the DCO using --signoff

@github-actions
Copy link
Contributor

ℹ️ Manual Changeset Creation Reminder

Please ensure manual commit for changeset file 9466.yml under folder changelogs/fragments to complete this PR.

If you want to use the available OpenSearch Changeset Bot App to avoid manual creation of changeset file you can install it in your forked repository following this link.

For more information about formatting of changeset files, please visit OpenSearch Auto Changeset and Release Notes Tool.

@kavilla kavilla added the nodejs 🍭 issues related to nodejs client label Feb 28, 2025
@kavilla
Copy link
Member Author

kavilla commented Feb 28, 2025

what to see how far the automation gets

@codecov
Copy link

codecov bot commented Feb 28, 2025

Codecov Report

Attention: Patch coverage is 69.23077% with 16 lines in your changes missing coverage. Please review.

Project coverage is 61.79%. Comparing base (6cf85af) to head (a79e471).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
.../data_source_management/public/components/utils.ts 33.33% 3 Missing and 1 partial ⚠️
.../public/query/query_string/query_string_manager.ts 66.66% 2 Missing and 1 partial ⚠️
..._source_management/framework/utils/use_polling.tsx 33.33% 2 Missing ⚠️
...ver/src/lib/indices/opensearch_dashboards_index.ts 0.00% 1 Missing ⚠️
...ckages/osd-opensearch-archiver/src/lib/progress.ts 0.00% 1 Missing ⚠️
packages/osd-optimizer/src/node/cache.ts 0.00% 1 Missing ⚠️
src/core/server/http/base_path_proxy_server.ts 0.00% 1 Missing ⚠️
src/core/server/metrics/metrics_service.ts 0.00% 1 Missing ⚠️
.../docker_generator/templates/dockerfile.template.ts 0.00% 1 Missing ⚠️
...query_string/language_service/lib/query_result.tsx 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9466      +/-   ##
==========================================
- Coverage   61.81%   61.79%   -0.02%     
==========================================
  Files        3825     3825              
  Lines       92058    92068      +10     
  Branches    14602    14604       +2     
==========================================
- Hits        56902    56892      -10     
- Misses      31482    31502      +20     
  Partials     3674     3674              
Flag Coverage Δ
Linux_1 28.94% <7.14%> (-0.01%) ⬇️
Linux_2 56.30% <46.15%> (-0.08%) ⬇️
Linux_3 39.42% <65.00%> (+<0.01%) ⬆️
Linux_4 28.84% <9.67%> (-0.01%) ⬇️
Windows_1 28.96% <7.14%> (-0.01%) ⬇️
Windows_2 56.26% <46.15%> (-0.08%) ⬇️
Windows_3 39.43% <65.00%> (+<0.01%) ⬆️
Windows_4 28.84% <9.67%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 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.

@kavilla kavilla linked an issue Mar 1, 2025 that may be closed by this pull request
16 tasks
@kavilla kavilla force-pushed the feature/node-2x branch 3 times, most recently from cf55915 to 59f6c34 Compare March 7, 2025 22:53
package.json Outdated
"osd:ciGroup13": "echo \"cypress/integration/core_opensearch_dashboards/opensearch_dashboards/apps/query_enhancements/03/*.spec.js\"",
"osd:ciGroup14": "echo \"cypress/integration/core_opensearch_dashboards/opensearch_dashboards/apps/query_enhancements/04/*.spec.js\"",
"osd:ciGroup15": "echo \"cypress/integration/core_opensearch_dashboards/opensearch_dashboards/apps/query_enhancements/05/*.spec.js\"",
"osd:ciGroup16": "echo \"cypress/integration/core_opensearch_dashboards/opensearch_dashboards/apps/query_enhancements/01/saved_search.spec.js\"",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this and above change for osd:ciGroup10 a temporary thing that you will revert, or you think it should be permanent?

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

1 similar comment
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

4 similar comments
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@kavilla kavilla marked this pull request as ready for review March 19, 2025 06:51
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

1 similar comment
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

❌ Changelog Entry Missing Hyphen

Changelog entries must begin with a hyphen (-).

@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "chore". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

2 similar comments
@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "chore". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "chore". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "breaking". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "fix". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

@github-actions
Copy link
Contributor

❌ Invalid Prefix For Manual Changeset Creation

Invalid description prefix. Found "fix". Only "skip" entry option is permitted for manual commit of changeset files.

If you were trying to skip the changelog entry, please use the "skip" entry option in the ##Changelog section of your PR description.

kavilla added 2 commits March 20, 2025 20:44
Signed-off-by: Kawika Avilla <[email protected]>

Upgrade APM node

Signed-off-by: Kawika Avilla <[email protected]>

build with plugins workflow

Signed-off-by: Kawika Avilla <[email protected]>

add on push

Signed-off-by: Kawika Avilla <[email protected]>

plugins

Signed-off-by: Kawika Avilla <[email protected]>

dont run on image

Signed-off-by: Kawika Avilla <[email protected]>

just use node for plugin_helpers

Signed-off-by: Kawika Avilla <[email protected]>

unzip

Signed-off-by: Kawika Avilla <[email protected]>

unzip and then untar

Signed-off-by: Kawika Avilla <[email protected]>

create directory

Signed-off-by: Kawika Avilla <[email protected]>

updates

Signed-off-by: Kawika Avilla <[email protected]>

pwd

Signed-off-by: Kawika Avilla <[email protected]>

resolve to newer browserify rsa to avoid deprecation warning,

Signed-off-by: Kawika Avilla <[email protected]>

ensure encoding on filesync and also no hyphen for utf8

Signed-off-by: Kawika Avilla <[email protected]>

handle node issues

Signed-off-by: Kawika Avilla <[email protected]>

 build osd-pm

Signed-off-by: Kawika Avilla <[email protected]>

to string utf8

Signed-off-by: Kawika Avilla <[email protected]>

tostring utf8

Signed-off-by: Kawika Avilla <[email protected]>

Upgrading `opensearch` client to 3.x (#9139)

update dependencies

Signed-off-by: Kawika Avilla <[email protected]>

 dont expect error

Signed-off-by: Kawika Avilla <[email protected]>

ignore hapi

Signed-off-by: Kawika Avilla <[email protected]>

 restore polyfill after slight downgrade of typescript

Signed-off-by: Kawika Avilla <[email protected]>

fix tests

Signed-off-by: Kawika Avilla <[email protected]>

fix yarn lock file

Signed-off-by: Kawika Avilla <[email protected]>

update jest

Signed-off-by: Kawika Avilla <[email protected]>

remove ts jest and add module resolver

Signed-off-by: Kawika Avilla <[email protected]>

restore tests

Signed-off-by: Kawika Avilla <[email protected]>

skip test for now

Signed-off-by: Kawika Avilla <[email protected]>

fix caniuse

Signed-off-by: Kawika Avilla <[email protected]>

fix lock file

Signed-off-by: Kawika Avilla <[email protected]>

update workflow to run faster

Signed-off-by: Kawika Avilla <[email protected]>

skip test per suggestion

Signed-off-by: Kawika Avilla <[email protected]>

 some optimizations

Signed-off-by: Kawika Avilla <[email protected]>

restore chromium

Signed-off-by: Kawika Avilla <[email protected]>

fix regex

Signed-off-by: Kawika Avilla <[email protected]>

set limits for heap

Signed-off-by: Kawika Avilla <[email protected]>

bump types and cypress

Signed-off-by: Kawika Avilla <[email protected]>

bump semi space size

Signed-off-by: Kawika Avilla <[email protected]>

revert node types bump

Signed-off-by: Kawika Avilla <[email protected]>

update lock file and cypress workflow

Signed-off-by: Kawika Avilla <[email protected]>

wait until visible

Signed-off-by: Kawika Avilla <[email protected]>

split it out for 15 as well

Signed-off-by: Kawika Avilla <[email protected]>

add a wait

Signed-off-by: Kawika Avilla <[email protected]>

escape and make wait a command

Signed-off-by: Kawika Avilla <[email protected]>

set max semi space as well

Signed-off-by: Kawika Avilla <[email protected]>

skip problematic tests

Signed-off-by: Kawika Avilla <[email protected]>

skip recents

Signed-off-by: Kawika Avilla <[email protected]>

cypress string update and some clean up

Signed-off-by: Kawika Avilla <[email protected]>

clean up build plugins workflow

Signed-off-by: Kawika Avilla <[email protected]>
Signed-off-by: Kawika Avilla <[email protected]>
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

1 similar comment
@github-actions
Copy link
Contributor

📊 Bundle Size crossed 5% for below plugins

pageLoadAssetSizeVariation:
discover: 9

Comment on lines +20 to +21
viewportWidth: 1920,
viewportHeight: 1080,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Effort to save memory?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more so 2000 x 1320 seems non standard aspect ratio

where as 1920 x 1080 being 16x9 to potentially avoid any visual oddities

},
"engines": {
"node": ">=14.20.1 <19",
"node": ">=14.20.1 <21",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we still supporting < 20?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some light testing seems like it technically can. at least no worse than it was before.

however, i believe for 20 < it will become not compatible

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ashwin-pc We're good to drop compatibility for node < 20, right? I think its more preferrable to remove and add back in later if necessary vs keep and have to maintain for all of 3.x (even if we can validate its fine through node 14 for now).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. Lets remove it.

Copy link
Collaborator

@virajsanghvi virajsanghvi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving as node version question can be decided on later, but let's make sure we close it before 4/1

@kavilla kavilla merged commit 4ef7f0b into main Mar 24, 2025
75 of 76 checks passed
@chenrui333 chenrui333 mentioned this pull request Nov 1, 2025
joshuali925 added a commit to joshuali925/OpenSearch-Dashboards that referenced this pull request Nov 20, 2025
…pId$

Partially revert opensearch-project#9466. Current implementation doesn't work because
QueryStringManager is constructed during setup, and setApplication
happens during start. In playground or any instance we see `Could not
subscribe to application.currentAppId$` in console warning.

Signed-off-by: Joshua Li <[email protected]>
joshuali925 added a commit to joshuali925/OpenSearch-Dashboards that referenced this pull request Nov 20, 2025
…pId$

Partially revert opensearch-project#9466. Current implementation doesn't work because
QueryStringManager is constructed during setup, and setApplication
happens during start. In playground or any instance we see `Could not
subscribe to application.currentAppId$` in console warning.

Signed-off-by: Joshua Li <[email protected]>
joshuali925 added a commit to joshuali925/OpenSearch-Dashboards that referenced this pull request Nov 20, 2025
…pId$

Partially revert opensearch-project#9466. Current implementation doesn't work because
QueryStringManager is constructed during setup, and setApplication
happens during start. In playground or any instance we see `Could not
subscribe to application.currentAppId$` in console warning.

Signed-off-by: Joshua Li <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Node.js v20] Plugin Verification Meta Issue [BUG] EOL of Node.js version 18.x used in Opensearch-dashboards

5 participants