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

[ZEPPELIN-2094] Decrease npm install retry time (for branch-0.7) #2095

Closed
wants to merge 1 commit into from

Conversation

SehoNoh
Copy link
Contributor

@SehoNoh SehoNoh commented Mar 5, 2017

What is this PR for?

This pr is for branch-0.7
It’s too delayed for npm install when computer do not connected any networks.
Beacause when npm install, it has too long retry timeout.
This PR is to decrease retry timeout when npm install.
pr for mater #2095

What type of PR is it?

Improvement

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-2094

How should this be tested?

you must enable any one helium before test

Line 221 In zeppelin-zengine org.apache.zeppelin.helium.HeliumVisualizationFactory.java

First set with
String commandForNpmInstall = "install —loglevel=error”;
and You don’t connect any ethernet or wireless internet.
build & run

and set with

String commandForNpmInstall =
     String.format("install --fetch-retries=%d --fetch-retry-factor=%d " +
                   "--fetch-retry-mintimeout=%d",
     FETCH_RETRY_COUNT, FETCH_RETRY_FACTOR_COUNT, FETCH_RETRY_MIN_TIMEOUT);

also don’t connect any networks, build & run.

and also line 345. do it npm install some artifact again like above.

WHY
retries = 2
factor = 1
mintimeout = 5(sec)?

npm use retry module to retry.
It refers this article for retry algorithms.
It is a math which structured Math.min(Math.round(random * minTimeout * Math.pow(factor, attempt)), maxTimeout).
In retry source code, between two retries. First retry doesn't care Math.min(), just Math.round(random * minTimeout * Math.pow(factor, attempt)))

Description Before After
Condition npm's default setting
random = False = 1
retry = 2
minTimeout = 10 (sec)
maxTimeout = 60 (sec)
factor = 10
custom setting
random = False = 1
retry = 2
minTimeout = 5 (sec)
maxTimeout = 60 (sec)
factor = 1
First retry Math.round(1 * 10 (sec) * 10^1)) Math.round(1 * 5 (sec) * 1^1))
First retry result (Approximately) 100 (sec) 5 (sec)
Second retry Math.min(Math.round(1 * 10 (sec) * 10^2), 60 (sec)) Math.min(Math.round(1 * 5 (sec) * 1^2), 60 (sec))
Second retry result (Approximately) 60 (sec) 5 (sec)
Total waiting time (Approximately) 160 (sec) 10 (sec)

You can check like this below Screenshots.

Screenshots

Before After
2017-02-24 12 32 06 2017-02-24 12 37 10

Questions:

  • Does the licenses files need update? N/A
  • Is there breaking changes for older versions? N/A
  • Does this needs documentation? N/A

@SehoNoh
Copy link
Contributor Author

SehoNoh commented Mar 5, 2017

I will update the pr description soon.

@1ambda
Copy link
Member

1ambda commented Mar 5, 2017

Thanks @NohSeho. It would be nice if step-by-step description for reproducing this issue in 0.7.0

@Leemoonsoo
Copy link
Member

LGTM and merge to branch-0.7 if no further discussions.

asfgit pushed a commit that referenced this pull request Mar 6, 2017
### What is this PR for?
**This pr is for branch-0.7**
It’s too delayed for npm install when computer do not connected any networks.
Beacause when npm install, it has too long retry timeout.
This PR is to decrease retry timeout when npm install.
[pr for mater](#2060) #2095

### What type of PR is it?
Improvement

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-2094

### How should this be tested?
you must enable any one helium before test

Line 197 In zeppelin-zengine org.apache.zeppelin.helium.HeliumBundleFactory.java

First set with
`String npmCommand = "install —loglevel=error”;`
and You don’t connect any ethernet or wireless internet.
build & run

and set with
`String npmCommand = "install —fetch-retries=2 —fetch-retry-factor=1 —fetch-retry-mintimeout=5000 —loglevel=error”;`
also don’t connect any networks, build & run.

WHY
retries = 2
factor = 1
mintimeout = 5(sec)?

npm use [retry](https://github.com/tim-kos/node-retry) module to retry.
It refers [this article](http://dthain.blogspot.kr/2009/02/exponential-backoff-in-distributed.html) for retry algorithms.
It is a math which structured _Math.min(Math.round(random * minTimeout * Math.pow(factor, attempt)), maxTimeout)_.
In retry source code, between two retries. First retry doesn't care _Math.min()_, just _Math.round(random * minTimeout * Math.pow(factor, attempt))_)

Description | Before | After
------- | ------- | -------
Condition | npm's default setting<br>random = False = 1<br>retry = 2<br>minTimeout = 10 (sec)<br>maxTimeout = 60 (sec)<br>factor = 10 | custom setting<br>random = False = 1<br>retry = 2<br>minTimeout = 5 (sec)<br>maxTimeout = 60 (sec)<br>factor = 1<br>
First retry | Math.round(1 * 10 (sec) * 10^1)) | Math.round(1 * 5 (sec) * 1^1))
First retry result (Approximately) | 100 (sec) | 5 (sec)
Second retry | Math.min(Math.round(1 * 10 (sec) * 10^2), 60 (sec)) | Math.min(Math.round(1 * 5 (sec) * 1^2), 60 (sec))
Second retry result (Approximately) | 60 (sec) | 5 (sec)
Total waiting time (Approximately) | 160 (sec) | 10 (sec)

You can check like this below Screenshots.

### Screenshots
Before | After
-------|-------
<img width="1077" alt="2017-02-24 12 32 06" src="https://cloud.githubusercontent.com/assets/1144643/23267951/9deaec6e-fa2f-11e6-9171-5792f24de76d.png"> | <img width="1081" alt="2017-02-24 12 37 10" src="https://cloud.githubusercontent.com/assets/1144643/23267954/a12c0c0a-fa2f-11e6-99cd-335deef607ac.png">

### Questions:
* Does the licenses files need update? N/A
* Is there breaking changes for older versions? N/A
* Does this needs documentation? N/A

Author: NohSeho <iam@sehonoh.kr>

Closes #2095 from NohSeho/ZEPPELIN-2094-for-0.7 and squashes the following commits:

4388ff8 [NohSeho] [ZEPPELIN-2094] Decrease npm install retry time
@Leemoonsoo
Copy link
Member

This PR is just merged to branch-0.7 but @asfgit does not close this PR automatically. @NohSeho Can you manually close this PR?

@Leemoonsoo
Copy link
Member

@NohSeho And please let me know your apache JIRA id, so i can resolve https://issues.apache.org/jira/browse/ZEPPELIN-2094 with your name in assignee.

@SehoNoh
Copy link
Contributor Author

SehoNoh commented Mar 7, 2017

@Leemoonsoo username is NohSeho

@SehoNoh SehoNoh closed this Mar 7, 2017
@Leemoonsoo
Copy link
Member

Thanks @NohSeho. ZEPPELIN-2094 is marked as resolved.

prabhjyotsingh pushed a commit to prabhjyotsingh/zeppelin that referenced this pull request Mar 7, 2017
### What is this PR for?
**This pr is for branch-0.7**
It’s too delayed for npm install when computer do not connected any networks.
Beacause when npm install, it has too long retry timeout.
This PR is to decrease retry timeout when npm install.
[pr for mater](apache#2060) apache#2095

### What type of PR is it?
Improvement

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-2094

### How should this be tested?
you must enable any one helium before test

Line 197 In zeppelin-zengine org.apache.zeppelin.helium.HeliumBundleFactory.java

First set with
`String npmCommand = "install —loglevel=error”;`
and You don’t connect any ethernet or wireless internet.
build & run

and set with
`String npmCommand = "install —fetch-retries=2 —fetch-retry-factor=1 —fetch-retry-mintimeout=5000 —loglevel=error”;`
also don’t connect any networks, build & run.

WHY
retries = 2
factor = 1
mintimeout = 5(sec)?

npm use [retry](https://github.com/tim-kos/node-retry) module to retry.
It refers [this article](http://dthain.blogspot.kr/2009/02/exponential-backoff-in-distributed.html) for retry algorithms.
It is a math which structured _Math.min(Math.round(random * minTimeout * Math.pow(factor, attempt)), maxTimeout)_.
In retry source code, between two retries. First retry doesn't care _Math.min()_, just _Math.round(random * minTimeout * Math.pow(factor, attempt))_)

Description | Before | After
------- | ------- | -------
Condition | npm's default setting<br>random = False = 1<br>retry = 2<br>minTimeout = 10 (sec)<br>maxTimeout = 60 (sec)<br>factor = 10 | custom setting<br>random = False = 1<br>retry = 2<br>minTimeout = 5 (sec)<br>maxTimeout = 60 (sec)<br>factor = 1<br>
First retry | Math.round(1 * 10 (sec) * 10^1)) | Math.round(1 * 5 (sec) * 1^1))
First retry result (Approximately) | 100 (sec) | 5 (sec)
Second retry | Math.min(Math.round(1 * 10 (sec) * 10^2), 60 (sec)) | Math.min(Math.round(1 * 5 (sec) * 1^2), 60 (sec))
Second retry result (Approximately) | 60 (sec) | 5 (sec)
Total waiting time (Approximately) | 160 (sec) | 10 (sec)

You can check like this below Screenshots.

### Screenshots
Before | After
-------|-------
<img width="1077" alt="2017-02-24 12 32 06" src="https://cloud.githubusercontent.com/assets/1144643/23267951/9deaec6e-fa2f-11e6-9171-5792f24de76d.png"> | <img width="1081" alt="2017-02-24 12 37 10" src="https://cloud.githubusercontent.com/assets/1144643/23267954/a12c0c0a-fa2f-11e6-99cd-335deef607ac.png">

### Questions:
* Does the licenses files need update? N/A
* Is there breaking changes for older versions? N/A
* Does this needs documentation? N/A

Author: NohSeho <iam@sehonoh.kr>

Closes apache#2095 from NohSeho/ZEPPELIN-2094-for-0.7 and squashes the following commits:

4388ff8 [NohSeho] [ZEPPELIN-2094] Decrease npm install retry time
FRosner added a commit to FRosner/docker-zeppelin that referenced this pull request Mar 7, 2017
@FRosner
Copy link
Contributor

FRosner commented Mar 7, 2017

Hi @NohSeho I built Zeppelin after your fix and checked again. Now it is still hanging for two minutes before actually moving to the part that was changed. We have a proxy but it cannot be used because of https://issues.apache.org/jira/browse/ZEPPELIN-2152.

Why is this time so long still? Any clues?

 INFO [2017-03-07 12:52:34,068] ({main} NPMInstaller.java[installNpm]:117) - Installing npm version 3.10.8
 INFO [2017-03-07 12:52:34,070] ({main} NPMInstaller.java[downloadFile]:198) - Downloading http://registry.npmjs.org/npm/-/npm-3.10.8.tgz to /usr/local/zeppelin/local-repo/vis/cache/npm-3.10.8.tar.gz
 INFO [2017-03-07 12:52:34,074] ({main} ProxyConfig.java[getProxyForUrl]:27) - No proxies configured
 INFO [2017-03-07 12:52:34,074] ({main} FileDownloader.java[execute]:91) - No proxy was configured, downloading directly
ERROR [2017-03-07 12:54:41,887] ({main} HeliumVisualizationFactory.java[installNodeAndNpm]:92) - Could not download npm
com.github.eirslett.maven.plugins.frontend.lib.InstallationException: Could not download npm
	at com.github.eirslett.maven.plugins.frontend.lib.NPMInstaller.installNpm(NPMInstaller.java:167)
	at com.github.eirslett.maven.plugins.frontend.lib.NPMInstaller.install(NPMInstaller.java:82)
	at org.apache.zeppelin.helium.HeliumVisualizationFactory.installNodeAndNpm(HeliumVisualizationFactory.java:86)
	at org.apache.zeppelin.helium.HeliumVisualizationFactory.<init>(HeliumVisualizationFactory.java:78)
	at org.apache.zeppelin.helium.HeliumVisualizationFactory.<init>(HeliumVisualizationFactory.java:64)
	at org.apache.zeppelin.server.ZeppelinServer.<init>(ZeppelinServer.java:122)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createSingletonInstance(CXFNonSpringJaxrsServlet.java:382)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createApplicationInstance(CXFNonSpringJaxrsServlet.java:454)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:432)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:93)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:616)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:396)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
	at org.eclipse.jetty.server.Server.start(Server.java:387)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
	at org.eclipse.jetty.server.Server.doStart(Server.java:354)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.apache.zeppelin.server.ZeppelinServer.main(ZeppelinServer.java:185)
Caused by: com.github.eirslett.maven.plugins.frontend.lib.DownloadException: Could not download http://registry.npmjs.org/npm/-/npm-3.10.8.tgz
	at com.github.eirslett.maven.plugins.frontend.lib.DefaultFileDownloader.download(FileDownloader.java:77)
	at com.github.eirslett.maven.plugins.frontend.lib.NPMInstaller.downloadFile(NPMInstaller.java:199)
	at com.github.eirslett.maven.plugins.frontend.lib.NPMInstaller.downloadFileIfMissing(NPMInstaller.java:192)
	at com.github.eirslett.maven.plugins.frontend.lib.NPMInstaller.installNpm(NPMInstaller.java:124)
	... 34 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to registry.npmjs.org:80 [registry.npmjs.org/151.101.112.162] failed: Connection timed out (Connection timed out)
	at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:142)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:319)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
	at com.github.eirslett.maven.plugins.frontend.lib.DefaultFileDownloader.execute(FileDownloader.java:104)
	at com.github.eirslett.maven.plugins.frontend.lib.DefaultFileDownloader.download(FileDownloader.java:65)
	... 37 more
Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
	at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:125)
	... 48 more
 WARN [2017-03-07 12:54:41,905] ({main} Helium.java[loadConf]:101) - /usr/local/zeppelin/conf/helium.json does not exists
ERROR [2017-03-07 12:54:42,241] ({main} ZeppelinServer.java[<init>]:135) - Running 'npm install --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=http://registry.npmjs.org/' in /usr/local/zeppelin/local-repo/vis

java.io.IOException: Running 'npm install --fetch-retries=2 --fetch-retry-factor=1 --fetch-retry-mintimeout=5000 --registry=http://registry.npmjs.org/' in /usr/local/zeppelin/local-repo/vis

	at org.apache.zeppelin.helium.HeliumVisualizationFactory.bundle(HeliumVisualizationFactory.java:228)
	at org.apache.zeppelin.helium.HeliumVisualizationFactory.bundle(HeliumVisualizationFactory.java:102)
	at org.apache.zeppelin.server.ZeppelinServer.<init>(ZeppelinServer.java:133)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createSingletonInstance(CXFNonSpringJaxrsServlet.java:382)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createApplicationInstance(CXFNonSpringJaxrsServlet.java:454)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:432)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:93)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:616)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:396)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
	at org.eclipse.jetty.server.Server.start(Server.java:387)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
	at org.eclipse.jetty.server.Server.doStart(Server.java:354)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.apache.zeppelin.server.ZeppelinServer.main(ZeppelinServer.java:185)

@1ambda
Copy link
Member

1ambda commented Mar 7, 2017

Hi @FRosner Could you specify which log is the last line (the last printed) before hang?

@FRosner
Copy link
Contributor

FRosner commented Mar 7, 2017

@1ambda you can see it at the time (2 minutes difference):

 INFO [2017-03-07 12:52:34,074] ({main} FileDownloader.java[execute]:91) - No proxy was configured, downloading directly
ERROR [2017-03-07 12:54:41,887] ({main} HeliumVisualizationFactory.java[installNodeAndNpm]:92) - Could not download npm

@1ambda
Copy link
Member

1ambda commented Mar 7, 2017

Then, What @NohSeho fixed is not related with that part. It's the delay caused by maven-frontend-plugin while downloading nodejs, npm.

IMO,

  • we should decrease default retry timeout for nodejs, npm installation.
  • of course, we should provide proxy options for nodejs, npm and nodejs packages.

@FRosner
Copy link
Contributor

FRosner commented Mar 7, 2017

Thanks for clarifying @1ambda. Is there a Jira issue for the first point already? Can you point me to the part of the code where this is configured?

@SehoNoh
Copy link
Contributor Author

SehoNoh commented Mar 7, 2017

@FRosner hey there, I think that You're in trouble with installing local node.js and npm, isn't right?

@FRosner
Copy link
Contributor

FRosner commented Mar 7, 2017

@NohSeho I have the problem that we are behind a proxy and the proxy is not configured. I don't want npm and I don't want node.js but Zeppelin tries to download it for 2 minutes. I thought your fix was going to help but apparently it's not. @1ambda pointed me to the maven-frontend-plugin being the source of my problems but I'd like to know where exactly I need go to change this behaviour.

Does it make sense?

@Leemoonsoo
Copy link
Member

How about make Zeppelin skip install npm and node.js when no visualization/spell is enabled?

@FRosner
Copy link
Contributor

FRosner commented Mar 9, 2017 via email

@Leemoonsoo
Copy link
Member

@FRosner fyi. Made a patch #2137

asfgit pushed a commit that referenced this pull request Mar 17, 2017
…ge is selected

### What is this PR for?
Zeppelin 0.7.0 installs node and npm when it first starts for Helium package.
To be installed, or to failed to be installed due to network timeout, it takes some times.
We can just create empty file when no Helium package is enabled, instead of install npm and build bundle.
See discussion #2095 (comment)

### What type of PR is it?
Improvement

### Todos
* [x] - skip node,npm install and bundle package when no package is selected

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-2260

### How should this be tested?
When no package is selected (e.g. right after clean install Zeppelin), npm and node is no longer installed on startup.

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: Lee moon soo <moon@apache.org>

Closes #2137 from Leemoonsoo/ZEPPELIN-2260 and squashes the following commits:

520ad3f [Lee moon soo] Skip node,npm install and bundle when no helium package is selected
asfgit pushed a commit that referenced this pull request Mar 17, 2017
… helium package is selected

### What is this PR for?
Apply #2137 to `branch-0.7`

Zeppelin 0.7.0 installs node and npm when it first starts for Helium package.
To be installed, or to failed to be installed due to network timeout, it takes some times.
We can just create empty file when no Helium package is enabled, instead of install npm and build bundle.
See discussion #2095 (comment)

### What type of PR is it?
Improvement

### Todos
* [x] - skip node,npm install and bundle package when no package is selected

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-2260

### How should this be tested?
When no package is selected (e.g. right after clean install Zeppelin), npm and node is no longer installed on startup.

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: Lee moon soo <moon@apache.org>

Closes #2138 from Leemoonsoo/ZEPPELIN-2260_branch-0.7 and squashes the following commits:

e8f0686 [Lee moon soo] Skip node,npm install and bundle when no helium package is selected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants