Open anmonteiro opened 5 years ago
Thanks, I might not have time to fix this today, but hopefully tomorrow evening
And sorry that you're running into some troubles... hope you're still eager to give it a try :-)
Hmm, BTW: What do you mean with the status code? The HTTP response error status code?
Oh I meant exit code for the program. I must have been in a rush when I wrote this.
Oh, okay, but I'm just using the Launcher:
Hmm, don't know how to change the exit code
Feels like this should help https://github.com/eclipse-vertx/vert.x/issues/1401
The Launcher should even be called directly from the fat jar:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>io.vertx.core.Launcher</Main-Class>
<Main-Verticle>${verticle.name}</Main-Verticle>
</manifestEntries>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/services/io.vertx.core.spi.VerticleFactory</resource>
</transformer>
</transformers>
<artifactSet>
</artifactSet>
<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-fat.jar</outputFile>
</configuration>
</execution>
</executions>
</plugin>
Maybe it's using the run-command:
/**
* Exits the JVM and indicate an issue during the Vert.x initialization.
*/
public static void exitBecauseOfVertxInitializationIssue() {
exit(VERTX_INITIALIZATION_EXIT_CODE);
}
and this is calling
/**
* Exits the JVM with the given exit code.
*
* @param code the code, {@code 0} for success. By convention a non zero value if return to denotes an
* error.
*/
public static void exit(int code) {
System.exit(code);
}
But I think in Kotlin it should probably be https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.system/exit-process.html
Not sure if I did something wrong or if it's a Vert.x Kotlin issue.
But System.exit(int)
should work I think.
Oh BTW: Let's me know if you run into other bugs (if you still give it a try) :-)
I changed some stuff in the Dockerfile and docker-compose file. If you change localhost to keycloak in sirix-conf.json
and follow the instructions on https://sirix.io/rest-api.html it should be up and running. But regarding this particular error I don't really know :(
I think I faced a similar issue and may have a fix, as the workarounds I tried are working for me to overcome this particular error.
@anmonteiro were the stack traces you shared obtained while running docker-compose up via Windows machine, will you please confirm the traces below?
Below are the traces:
Hello @JohannesLichtenberger
I've raised a PR to address the issue we've been discussing regarding line endings in shell scripts. This PR aims to enforce LF line endings for .sh
files to prevent any potential cross-platform issues.
With the changes included in PR, the container now starts correctly, ensuring that everything works as expected.
Here is the link to PR: https://github.com/sirixdb/sirix/pull/741
Full Stack Trace
``` io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080 at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.net.ConnectException: Connection refused ... 11 more Sep 28, 2019 11:28:52 PM io.vertx.core.impl.launcher.commands.VertxIsolatedDeployer SEVERE: Failed in deploying verticle io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080 at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.net.ConnectException: Connection refused ... 11 more io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080 at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.net.ConnectException: Connection refused ... 11 more ```If the rest-api service fails to start due to keycloak not being available, it still exits with status code 0.
Expected behavior is a different status code.
I'm running into this while trying to wait for keycloak to be serving requests before starting up the web instance in docker-compose.