Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.x] Bump elasticsearch-js version to the latest stable #7210

Closed
andrewjkenney opened this issue May 16, 2016 · 15 comments
Closed

[4.x] Bump elasticsearch-js version to the latest stable #7210

andrewjkenney opened this issue May 16, 2016 · 15 comments
Assignees

Comments

@andrewjkenney
Copy link

andrewjkenney commented May 16, 2016

Edit by @epixa

We should bump the elasticsearch-js version in 4.x to the latest stable version possible.


Original title: npm install fails due to node_module version incompatibility with 4.4.4

When following the contributing.md instructions to do a fresh install I get an incompatibility for elasticsearch and also karma. This happened for me on branch 4.5, I have observed similar on 4.5.1 and 4.1

on 4.5 branch, If I bump

  • elasticsearch to 9.0.2
  • karma to 0.13.22

npm install works

npm ERR! node v4.4.4
npm ERR! npm  v2.15.1
npm ERR! code ENOTSUP

npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: elasticsearch@8.0.1
npm ERR! notsup Required: {"node":">=0.8 <3.0","iojs":">=1.5"}
npm ERR! notsup Actual:   {"npm":"2.15.1","node":"4.4.4"}
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: karma@0.13.9
npm ERR! notsup Required: {"node":">=0.10 <=0.12 || >=1 <=3"}
npm ERR! notsup Actual:   {"npm":"2.15.1","node":"4.4.4"}
@epixa
Copy link
Contributor

epixa commented Jul 22, 2016

I just did a test of a fresh clone of 4.5, and I'm not seeing this. Is this still an issue? Do you have any other details?

@andrewjkenney
Copy link
Author

I had to update the package.json to newer versions. In the end I chose elasticsearch 8.1. This was the earliest version of that module that supported node v4.4.4
deps:
"elasticsearch": "8.1.0",
"elasticsearch-browser": "8.1.0",
dev deps:
"karma": "0.13.22",

I'm not sure why you can't reproduce. npm only does these version checks at install time. If you used a version of node in the acceptable range to run install it may have downloaded.

On another project, we ran into version issues with fresh installs due to 3rd party dependencies and their dependencies... so we started maintaining a shrinkwrap file.

I'll try a fresh clone over the weekend and see if it's still a problem for me.

@andrewjkenney
Copy link
Author

I setup a simple test confirming that npm won't download elasticsearch 8.0.1 with node v4.4.4:

mac~$ cat package.json 
{
  "name": "test",
  "version": "1.0.0",
  "description": "a random test",
  "main": "index.js",
  "scripts": {
    "test": "ls"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "elasticsearch": "8.0.1"
  }
}
mac~$ npm install
npm WARN package.json test@1.0.0 No repository field.
npm WARN package.json test@1.0.0 No README data
npm ERR! Darwin 15.4.0
npm ERR! argv "/Users/me/.nvm/versions/node/v4.4.4/bin/node" "/Users/akenney/.nvm/versions/node/v4.4.4/bin/npm" "install"
npm ERR! node v4.4.4
npm ERR! npm  v2.15.1
npm ERR! code ENOTSUP

npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: elasticsearch@8.0.1
npm ERR! notsup Required: {"node":">=0.8 <3.0","iojs":">=1.5"}
npm ERR! notsup Actual:   {"npm":"2.15.1","node":"4.4.4"}

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/me/dev/gitrepo/sandbox/test/npm-debug.log
mac~$ nvm list
       v0.10.45
         v4.3.2
->       v4.4.4
         v5.7.0
         v5.7.1
         system
default -> stable (-> v5.7.1)
node -> stable (-> v5.7.1) (default)
stable -> 5.7 (-> v5.7.1) (default)
iojs -> N/A (default)

@Bargs
Copy link
Contributor

Bargs commented Jul 22, 2016

I get a warning, but not a failure (with node 4.4.7 and npm 2.15.8):

npm WARN engine elasticsearch@8.0.1: wanted: {"node":">=0.8 <3.0","iojs":">=1.5"} (current: {"node":"4.4.7","npm":"2.15.8"})

As I understand, the install should only fail if the dependency lists engineStrict: true in its package.json, which elasticsearch.js does not. Do you have something configured in your local npm that makes all engine checks strict, perhaps?

@epixa
Copy link
Contributor

epixa commented Jul 22, 2016

While I don't see us bumping this for 4.5, we probably should update it in 4.x so that we don't run into problems in the future while maintaining 4.6. @spalger What do you think? Is there an obvious version of the es-js client that we should use against ES 2.4?

@spalger
Copy link
Contributor

spalger commented Jul 22, 2016

Every version of the elasticsearch-js client works against every version of elasticsearch released since 0.90. Just supply the apiVersion: '2.4' configuration parameter.

@epixa
Copy link
Contributor

epixa commented Jul 22, 2016

That's convenient.

@epixa epixa changed the title npm install fails due to node_module version incompatibility with 4.4.4 [4.x] Bump elasticsearch-js version to the latest stable Jul 22, 2016
@Bargs
Copy link
Contributor

Bargs commented Jul 22, 2016

Every version of the elasticsearch-js client works against every version of elasticsearch released since 0.90.

@spalger
obamamicdrop

@epixa
Copy link
Contributor

epixa commented Jul 22, 2016

@andrewjkenney I hope you don't mind that I commandeered this ticket for the dependency bump. It seemed appropriate since this ticket provides all of the context.

@epixa epixa added the v4.6.0 label Jul 22, 2016
@andrewjkenney
Copy link
Author

Sure no problem.

@Bargs is right, under normal config you would only receive a warning. But, I have engine-strict=true in my local config. and forgot it was set.

I think I turned it on before we started shrinkwrapping...

@epixa epixa added v4.6.1 and removed v4.6.0 labels Aug 24, 2016
@epixa epixa added v4.6.2 and removed v4.6.1 labels Sep 3, 2016
@epixa epixa added v4.6.3 and removed v4.6.2 labels Oct 24, 2016
@epixa epixa added v4.7.0 and removed v4.6.3 labels Nov 16, 2016
@epixa epixa added v4.6.4 and removed v4.7.0 labels Dec 20, 2016
@epixa
Copy link
Contributor

epixa commented Dec 20, 2016

@spalger I think there was a backwards compatibility break in the elasticsearch-js plugin at some point between 8.x and 12.x. If I bump the elasticsearch and elasticsearch-browser dependencies to 12.1.2 in the 4.6 branch, I consistently get the following error during optimize:

/p/kibana-4.6/src/plugins/elasticsearch/lib/health_check.js:96
      check()['finally'](function () {
                        ^

TypeError: check(...).finally is not a function
    at Timeout._onTimeout (/p/kibana-4.6/src/plugins/elasticsearch/lib/health_check.js:99:22)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
 server crashed  with status code 1

That's with a completely fresh node_modules.

@spalger
Copy link
Contributor

spalger commented Dec 20, 2016

@epixa yeah, we'll need to backport #5656 1e507a9

@spalger
Copy link
Contributor

spalger commented Dec 20, 2016

esjs used to ship with bluebird, but that was removed in support of native JS promises. We configure the library to use bluebird though

@epixa
Copy link
Contributor

epixa commented Dec 20, 2016

Awesome, I'll sort that out.

@epixa epixa self-assigned this Dec 20, 2016
@epixa
Copy link
Contributor

epixa commented Dec 21, 2016

It looks like the latest version of elasticsearch-js (12.1) does not support the ES 2.0 api, which is a requirement for 4.x. Since the default npm settings work for the current version, I'm going to close this out.

@epixa epixa closed this as completed Dec 21, 2016
@epixa epixa removed the v4.6.4 label Dec 21, 2016
jbudz pushed a commit that referenced this issue Sep 27, 2023
`v88.3.0`⏩`v88.5.0`

closes #151514

---

## [`88.5.0`](https://github.com/elastic/eui/tree/v88.5.0)

- Updated `EuiCallOut` with a new `onDismiss` prop
([#7156](elastic/eui#7156))
- Added a new `renderCustomToolbar` prop to `EuiDataGrid`, which allows
custom rendering of the toolbar.
([#7190](elastic/eui#7190))
- Added a new `allowResetButton` prop to
`toolbarVisibility.showDisplaySelector` of `EuiDataGrid`, which allows
hiding the "Reset to default" button from the display settings popover.
([#7190](elastic/eui#7190))
- Added a new `additionalDisplaySettings` prop to
`toolbarVisibility.showDisplaySelector` of `EuiDataGrid`, which allows
rendering extra settings inside the display settings popover.
([#7190](elastic/eui#7190))
- Updated `EuiDataGrid`'s toolbar display settings button icon
([#7190](elastic/eui#7190))
- Updated `EuiTextTruncate` with significantly improved iteration
performance. Removed `measurementRenderAPI` prop, as `EuiTextTruncation`
now only uses more performant canvas render API
([#7210](elastic/eui#7210))
- Updated `EuiPopover` with a new configurable `repositionToCrossAxis`
prop ([#7211](elastic/eui#7211))
- Updated `EuiDatePicker` to support `compressed` input styling
([#7218](elastic/eui#7218))
- Added `gradient` and `palette` icon glyphs.
([#7220](elastic/eui#7220))

**Bug fixes**

- Fixed `EuiPopover`'s missing animations on popover close
([#7211](elastic/eui#7211))
- Fixed `EuiInputPopover` anchoring to the wrong side and missing
shadows on smaller screens
([#7211](elastic/eui#7211))
- Fixed `EuiSuperDatePicker` icon spacing on the quick select button
([#7217](elastic/eui#7217))
- Fixed a missing type in `EuiMarkdownEditor`'s default processing
plugins ([#7221](elastic/eui#7221))


## [`88.4.1`](https://github.com/elastic/eui/tree/v88.4.1)

**Bug fixes**

- Fixed missing `className`s on `EuiTextTruncate`
([#7212](elastic/eui#7212))
- Fixed `title`s on `EuiComboBox` dropdown options to always be present
([#7212](elastic/eui#7212))
- Fixed `EuiComboBox` truncation issues when search is an empty space
([#7212](elastic/eui#7212))

## [`88.4.0`](https://github.com/elastic/eui/tree/v88.4.0)

- Updated `EuiComboBox` to allow configuring text truncation behavior
via `truncationProps`. These props can be set on the entire combobox as
well as on on individual dropdown options.
([#7028](elastic/eui#7028))
- Updated `EuiInMemoryTable` with a new `searchFormat` prop (defaults to
`eql`). When setting this prop to `text`, the built-in search bar will
ignore EQL syntax and allow searching for plain strings with special
characters and symbols.
([#7175](elastic/eui#7175))

**Bug fixes**

- `EuiComboBox` now always shows the highlighted search text, even on
truncated text ([#7028](elastic/eui#7028))
- Fixed missing i18n in `EuiSearchBar`'s default placeholder and
aria-label text ([#7175](elastic/eui#7175))
- Fixed the inline compressed styles of `EuiDescriptionListTitle` to use
a taller line-height for readability
([#7185](elastic/eui#7185))
- Fixed `EuiComboBox` to correctly truncate selected items when
displayed as pills and plain text
([#7193](elastic/eui#7193))

**Accessibility**

- Added `aria-current` attribute to `EuiTablePagination`
([#7186](elastic/eui#7186))

**CSS-in-JS conversions**

- Converted `EuiDroppable` and `EuiDraggable` to Emotion; Removed
`$euiDragAndDropSpacing` Sass variables
([#7187](elastic/eui#7187))

---------

Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
Co-authored-by: Jan Monschke <jan.monschke@elastic.co>
Co-authored-by: Thomas Watson <watson@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants