[
https://issues.apache.org/jira/browse/SQOOP-2369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
guoquan updated SQOOP-2369:
---------------------------
Description:
Currently Sqoop provides a TomcatSqoopMiniCluster for integration test.
TomcatSqoopMiniCluster will find a available port as the Servlet port. this way
is right. But the TomcatSqoopMiniCluster doesn't choose the ajpPort like the
Servlet port. it use the default 8009 as the ajpPort. This port has been
occupied by other service like Jenkins. The Cargo installContainer can't stop
the Tomcat server and an exception thrown:
{code}
org.codehaus.cargo.container.ContainerException: Failed to stop the Tomcat 6.x
container. Check the [./tomcat.log] file containing the container logs for more
details.
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:234)
at
org.apache.sentry.tests.e2e.sqoop.TomcatSqoopRunner.stop(TomcatSqoopRunner.java:205)
at
org.apache.sentry.tests.e2e.sqoop.AbstractSqoopSentryTestBase.afterTestEndToEnd(AbstractSqoopSentryTestBase.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.codehaus.cargo.container.ContainerException: Server port 8009
did not shutdown within the timeout period [120000]
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:406)
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:315)
at
org.codehaus.cargo.container.tomcat.internal.AbstractCatalinaInstalledLocalContainer.waitForCompletion(AbstractCatalinaInstalledLocalContainer.java:206)
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:223)
... 17 more
org.codehaus.cargo.container.ContainerException: Server port 8009 did not
shutdown within the timeout period [120000]
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:406)
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:315)
at
org.codehaus.cargo.container.tomcat.internal.AbstractCatalinaInstalledLocalContainer.waitForCompletion(AbstractCatalinaInstalledLocalContainer.java:206)
at
org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:223)
at
org.apache.sentry.tests.e2e.sqoop.TomcatSqoopRunner.stop(TomcatSqoopRunner.java:205)
at
org.apache.sentry.tests.e2e.sqoop.AbstractSqoopSentryTestBase.afterTestEndToEnd(AbstractSqoopSentryTestBase.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
{code}
The ajpPort should choose a available port.
was:Currently Sqoop provides a TomcatSqoopMiniCluster for integration test.
TomcatSqoopMiniCluster will find a available port as the Servlet port. this way
is right. But the TomcatSqoopMiniCluster doesn't choose the ajpPort like the
Servlet port. it use the default 8009 as the ajpPort. This port has been binded
by
> Change the default AjpPort 8009 to a random port in TomcatSqoopMiniCluster
> --------------------------------------------------------------------------
>
> Key: SQOOP-2369
> URL: https://issues.apache.org/jira/browse/SQOOP-2369
> Project: Sqoop
> Issue Type: Bug
> Reporter: guoquan
> Assignee: guoquan
>
> Currently Sqoop provides a TomcatSqoopMiniCluster for integration test.
> TomcatSqoopMiniCluster will find a available port as the Servlet port. this
> way is right. But the TomcatSqoopMiniCluster doesn't choose the ajpPort like
> the Servlet port. it use the default 8009 as the ajpPort. This port has been
> occupied by other service like Jenkins. The Cargo installContainer can't stop
> the Tomcat server and an exception thrown:
> {code}
> org.codehaus.cargo.container.ContainerException: Failed to stop the Tomcat
> 6.x container. Check the [./tomcat.log] file containing the container logs
> for more details.
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:234)
> at
> org.apache.sentry.tests.e2e.sqoop.TomcatSqoopRunner.stop(TomcatSqoopRunner.java:205)
> at
> org.apache.sentry.tests.e2e.sqoop.AbstractSqoopSentryTestBase.afterTestEndToEnd(AbstractSqoopSentryTestBase.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: org.codehaus.cargo.container.ContainerException: Server port 8009
> did not shutdown within the timeout period [120000]
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:406)
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:315)
> at
> org.codehaus.cargo.container.tomcat.internal.AbstractCatalinaInstalledLocalContainer.waitForCompletion(AbstractCatalinaInstalledLocalContainer.java:206)
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:223)
> ... 17 more
> org.codehaus.cargo.container.ContainerException: Server port 8009 did not
> shutdown within the timeout period [120000]
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:406)
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForPortShutdown(AbstractLocalContainer.java:315)
> at
> org.codehaus.cargo.container.tomcat.internal.AbstractCatalinaInstalledLocalContainer.waitForCompletion(AbstractCatalinaInstalledLocalContainer.java:206)
> at
> org.codehaus.cargo.container.spi.AbstractLocalContainer.stop(AbstractLocalContainer.java:223)
> at
> org.apache.sentry.tests.e2e.sqoop.TomcatSqoopRunner.stop(TomcatSqoopRunner.java:205)
> at
> org.apache.sentry.tests.e2e.sqoop.AbstractSqoopSentryTestBase.afterTestEndToEnd(AbstractSqoopSentryTestBase.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> {code}
> The ajpPort should choose a available port.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)