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

Pin to Node.js 10.13.0 #339

Merged
merged 3 commits into from Dec 16, 2018
Merged

Pin to Node.js 10.13.0 #339

merged 3 commits into from Dec 16, 2018

Conversation

orangejulius
Copy link
Member

@orangejulius orangejulius commented Dec 16, 2018

This is just the changes from #337 to pin Node.js to 10.13.0.

Pinning is required because Elasticsearch 5 tends to output lots of header lines with deprecation notices, while Node.js 10.14.0 added an unconfigurable 8kb max size for headers, and all network requests with larger headers are dropped.

Eventually, Node.js will add a configuration flag for this (see nodejs/node#24811). Until then, pinning to 10.13.0 is a good stopgap. The Schema project does not accept incoming network requests, so it is not susceptible to the vulnerabilities the 8kb header limit was designed to protect against.

Echelon9 and others added 3 commits December 2, 2018 12:55
Travis-CI has or will shortly make in early December 2018 a number of beneficial
changes to their Linux continuous integration testing infrastructure.

Changes that impact pelias/schema are:
* Linux infrastructure combined into one (virtualized), from two previously
  (virtualized and container-based). [0][1]
* Offering a more modern, supported Ubuntu Xenial (16.04 LTS). [2]
* Modest speed improvements from the fully virtualized-based infrastructure.

NOTE: Until openjdk/oraclejdk dependencies can be resolved on modern Ubuntu and
Travis-CI environment, keep the image at Ubuntu Trusty (14.04 LTS).

Projects using "sudo: false" (container-based infrastructure), have been
recommended to remove that configuration soon. In any case, the transition
will happen regardless for projects by December 7, 2018.

[0] https://blog.travis-ci.com/2018-10-04-combining-linux-infrastructures
[1] https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
[2] https://docs.travis-ci.com/user/reference/xenial/
Due to a limit to header sizes in the latest security releases of
Node.js, combined with Elasticsearch's default of sending lots of
deprecation warning errors as headers, we need to use slightly older
versions of Node.js until either Elasticsearch offers more configuration
options, or Node.js releases a CLI option for the header limit.

See #337 for details
This is to prevent conflicts between ES5 deprecation headers (which can
be quite large) and the Node.js 10.14.0+ header limit of 8kb.

See #337
@orangejulius orangejulius merged commit 670ed3c into master Dec 16, 2018
@orangejulius orangejulius deleted the pin-to-nodejs-10.13.0 branch January 3, 2019 05:20
orangejulius added a commit that referenced this pull request Jan 15, 2019
…t in effect

This avoids issues with Elasticsearch 5 headers and Node.js 8.14/10.14
as described in #339
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.

None yet

2 participants