[ 
https://issues.apache.org/jira/browse/KARAF-7362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17618228#comment-17618228
 ] 

ASF subversion and git services commented on KARAF-7362:
--------------------------------------------------------

Commit 81336682767260a2655ea1a98c2b86bfb4379b6f in karaf's branch 
refs/heads/main from Jean-Baptiste Onofré
[ https://gitbox.apache.org/repos/asf?p=karaf.git;h=8133668276 ]

Merge pull request #1663 from jbonofre/KARAF-7362

[KARAF-7362] Move karaf.config bundle in startup instead of features to be sure 
it starts sync and in first stage

> Override of shellPort by environment variable sometime failed during clean 
> start
> --------------------------------------------------------------------------------
>
>                 Key: KARAF-7362
>                 URL: https://issues.apache.org/jira/browse/KARAF-7362
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.3.3, 4.3.6
>            Reporter: Andre Schlegel-Tylla
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>
> We are using environment variables to override the karaf ports 
> ([https://karaf.apache.org/manual/latest/#_environment_variables_system_properties]).
>  We have some tests where we make a fresh installation with some changed 
> ports. In this case we have seen port conflicts with a parallel vanilla 
> installation on the same machine (ssh port and http port). It seems that the 
> override by the environment variables didn't work. After a restart of the 
> installation all was fine.
>  
> I can reproduce the problem on my machine. With the current 4.3.6 vanilla 
> release. Set these env vars:
>  
>  
> {code:java}
> export ORG_APACHE_KARAF_SHELL_SSHPORT=18101 export 
> ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYPORT=11099 export 
> ORG_APACHE_KARAF_MANAGEMENT_RMISERVERPORT=14444 export 
> ORG_OPS4J_PAX_WEB_ORG_OSGI_SERVICE_HTTP_PORT=18181 export 
> ORG_OPS4J_PAX_WEB_ORG_OSGI_SERVICE_HTTP_PORT_SECURE=18282{code}
>  
>  
> When I start the fresh karaf (bin/karaf) the ssh port is open on 8101 and not 
> on 18101. When I stop the karaf and start again the ssh port is open on 18101.
>  
> I have repeated it again and got different results (now with deleting the 
> whole karaf and unpack the vanilla tar.gz again).
>  
> I had used this:
>  
> export ORG_APACHE_KARAF_SHELL_SSHPORT=18101
> tar -xzf apache-karaf-4.3.6.tar.gz
> apache-karaf-4.3.6/bin/karaf
>   * First time all went as expected; ports have been changed
>  * Second time I got this:  
> {code:java}
> karaf-env-test tar -xzf apache-karaf-4.3.6.tar.gz
>   karaf-env-test apache-karaf-4.3.6/bin/karaf
>         __ __                  ____
>        / //_/____ __________ _/ __/
>       / ,<  / __ `/ ___/ __ `/ /_
>      / /| |/ /_/ / /  / /_/ / __/
>     /_/ |_|\__,_/_/   \__,_/_/
>   Apache Karaf (4.3.6)
> Hit '<tab>' for a list of available commands
> and '[cmd] --help' for help on a specific command.
> Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.
> karaf@root()> Exception in thread "JMX Connector Thread 
> [service:jmx:rmi://127.0.0.1:44444/jndi/rmi://127.0.0.1:1099/karaf-root]" 
> java.lang.RuntimeException: Could not start JMX connector server
> at 
> org.apache.karaf.management.ConnectorServerFactory.lambda$init$0(ConnectorServerFactory.java:438)
> at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.io.IOException: Cannot bind to URL 
> [rmi://127.0.0.1:1099/karaf-root]: javax.naming.CommunicationException [Root 
> exception is java.rmi.NoSuchObjectException: no such object in table]
> at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:854)
> at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:501)
> at 
> org.apache.karaf.management.ConnectorServerFactory.lambda$init$0(ConnectorServerFactory.java:421)
> ... 1 more
> Caused by: javax.naming.CommunicationException [Root exception is 
> java.rmi.NoSuchObjectException: no such object in table]
> at 
> jdk.naming.rmi/com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:162)
> at 
> java.naming/com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:230)
> at java.naming/javax.naming.InitialContext.bind(InitialContext.java:417)
> at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:713)
> at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:496)
> ... 2 more
> Caused by: java.rmi.NoSuchObjectException: no such object in table
> at 
> java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303)
> at 
> java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279)
> at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:380)
> at java.rmi/sun.rmi.registry.RegistryImpl_Stub.bind(RegistryImpl_Stub.java:73)
> at 
> jdk.naming.rmi/com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:156)
> ... 6 more{code}
>   * Third time there was no JMX error, ssh port was open on 8101 not on 18101 
> as expected. And the config result is this:
> {code:java}
> karaf@root()> config:list | grep Port
>    jmxmpPort = 9999
>    rmiRegistryPort = 11099
>    rmiServerPort = 14444
>    sshPort = 18101{code}
>  
> It seems to me that there are some timing issues.
>  
> On our test installation which is done by a script in Jenkins we always got 
> the problem with the httpPort and sometimes also with the sshPort.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to