quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.63k stars 2.64k forks source link

Gradle quarkusDev task is not working with quarkus-amazon-lambda-http #9829

Open heri333 opened 4 years ago

heri333 commented 4 years ago

Describe the bug

Starting the application with the Gradle quarkusDev task fails if the quarkus-amazon-lambda-http extension is used.

Expected behavior

The application is started and able to fulfil requests.

Actual behavior

The container does not start up successfully, and all requests are failing with:

java.lang.IllegalStateException: Container not running: ArcContainerImpl [id=1, running=false, beans=0, observers=0, scopes=[interface javax.inject.Singleton, interface javax.enterprise.context.ApplicationScoped]]

The startup log is:

> Task :quarkusDev
Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
15:36:52 INFO  [io.qu.fl.FlywayProcessor] (build-10) Adding application migrations in path '/home/heri/workspace/quarkus-lambda/build/resources/main/db/migration/' using protocol 'file'
15:36:52 INFO  [or.fl.co.in.li.VersionPrinter] (Quarkus Main Thread) Flyway Community Edition 6.4.2 by Redgate
15:36:52 INFO  [or.fl.co.in.da.DatabaseFactory] (Quarkus Main Thread) Database: jdbc:postgresql://localhost:5432/test (PostgreSQL 12.2)
15:36:52 INFO  [or.fl.co.in.co.DbMigrate] (Quarkus Main Thread) Current version of schema "public": 1.0.0
15:36:52 INFO  [or.fl.co.in.co.DbMigrate] (Quarkus Main Thread) Schema "public" is up to date. No migration necessary.
15:36:53 INFO  [io.quarkus] (Quarkus Main Thread) quarkus-lambda 1.0.0-SNAPSHOT on JVM (powered by Quarkus 1.5.0.Final) started in 1.576s. Listening on: http://0.0.0.0:8080
15:36:53 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
15:36:53 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, amazon-lambda, cdi, flyway, jdbc-postgresql, mutiny, narayana-jta, reactive-pg-client, resteasy, resteasy-jsonb, resteasy-mutiny, vertx, vertx-web]
15:36:53 ERROR [io.qu.am.la.ru.AbstractLambdaPollLoop] (Lambda Thread) Failed to run lambda: java.net.UnknownHostException: null
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1969)
    at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1964)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1963)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1531)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
    at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:67)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.net.UnknownHostException: null
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at java.base/java.net.Socket.connect(Socket.java:558)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1248)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3094)
    at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:50)
    ... 1 more

15:36:53 ERROR [io.qu.am.la.ru.AbstractLambdaPollLoop] (Lambda Thread) Error running lambda: java.net.UnknownHostException: null
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at java.base/java.net.Socket.connect(Socket.java:558)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1248)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1362)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1337)
    at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop.postError(AbstractLambdaPollLoop.java:164)
    at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:75)
    at java.base/java.lang.Thread.run(Thread.java:834)

15:36:53 ERROR [io.qu.ru.StartupContext] (Lambda Thread) Running a shutdown task failed: java.lang.IllegalStateException: Unable to unregister all message consumer methods
    at io.quarkus.vertx.runtime.VertxRecorder.unregisterMessageConsumers(VertxRecorder.java:123)
    at io.quarkus.vertx.runtime.VertxRecorder$1.run(VertxRecorder.java:46)
    at io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:82)
    at io.quarkus.runtime.StartupContext.close(StartupContext.java:71)
    at io.quarkus.runner.ApplicationImpl.doStop(ApplicationImpl.zig:593)
    at io.quarkus.runtime.Application.stop(Application.java:188)
    at io.quarkus.runtime.Application.stop(Application.java:140)
    at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:84)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.InterruptedException
    at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1343)
    at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
    at io.quarkus.vertx.runtime.VertxRecorder.unregisterMessageConsumers(VertxRecorder.java:120)
    ... 8 more

15:36:53 INFO  [io.quarkus] (Lambda Thread) quarkus-lambda stopped in 0.076s

To Reproduce

I've used basically the quarkus-amazon-lambda-http guide (https://quarkus.io/guides/amazon-lambda-http) and used Gradle as build system.

Environment (please complete the following information):

quarkusbot commented 4 years ago

/cc @patriot1burke /cc @quarkusio/devtools

glefloch commented 4 years ago

Following the quarkus guide, I'm able to get the quarkusDev running, here is what I have done: https://github.com/glefloch/quarkus-amazon-lambda-gradle can you try with it?

heri333 commented 4 years ago

Yes, I can run your example successfully. But my own more complex sample project still fails with 1.5.2.Final: https://github.com/heri333/quarkus-lambda

geoand commented 1 week ago

Is this still an issue?