Skip to content

Instantly share code, notes, and snippets.

@lu1tr0n
Created May 29, 2026 16:03
Show Gist options
  • Select an option

  • Save lu1tr0n/67771f5ac0a6ff9291f4ee9dcf980090 to your computer and use it in GitHub Desktop.

Select an option

Save lu1tr0n/67771f5ac0a6ff9291f4ee9dcf980090 to your computer and use it in GitHub Desktop.
Quarkus #53799 / PR #54554 — boot-failure log tail: 7 real scenarios, before/after, environment & reproducible harness

Boot-failure log-tail — evidence for quarkusio/quarkus#54554 (fixes #53799)

When a @QuarkusIntegrationTest application fails to boot, the test only reports a generic "Unable to determine the status of the running process" — the real cause is written to quarkus.log on disk, which is easy to miss (and on CI is often gone by the time you look). PR #54554 echoes the tail of that log to System.err right after the existing breadcrumb.

This gist answers the two review questions with data:

  • @geoand: is 50 lines enough to be meaningful?
  • @gsmet: would analyzing the log to surface the useful part beat a blind last-50?

TL;DR — across 7 real Quarkus 3.36 boot failures, the actionable root cause landed in the last 50 lines every time. In short logs the whole log fits; in large logs the failure stacktrace is logged last, so the root Caused by: sits at the bottom — exactly what a tail keeps.

Test environment

OS Ubuntu 22.04.5 LTS (x86_64)
Build / run JDK Eclipse Temurin 21.0.3+9 (LTS)
Maven 3.9.15 (project mvnw)
Quarkus platform 3.36.0 (latest release)
Database (S4 scenarios) PostgreSQL 16.14 (official postgres:16 image), Docker 29.4.3
PR under test fix/53799-it-boot-failure-log-tail @ b2f11c52e95
How the "tail" was produced applicationLogTail(List,int,String) copied verbatim from that commit into TailHarness.java, then run over each captured log — so the output below is exactly what the PR prints, without building Quarkus 999-SNAPSHOT. The helper is also covered by the PR's 3 unit tests + CI.

How the error is captured — before vs. after

The clearest case is #53799's own scenario (S1): an app compiled to Java 21 bytecode (class-file 65.0) packaged on an eclipse-temurin:17-jre base, so the container runs Java 17 (recognises up to 61.0) and dies with UnsupportedClassVersionError.

BEFORE (released 3.36.0 — full output in 01-BEFORE-failsafe-output.txt):

Failed to launch the application. The application logs can be found at: <project>/target/quarkus.log
...
java.lang.RuntimeException: java.lang.IllegalStateException: Unable to determine the status of
the running process. See the above logs for details
    at io.quarkus.test.junit.QuarkusIntegrationTestExtension.throwBootFailureException(...)
Caused by: java.lang.IllegalStateException: Unable to determine the status of the running process.
    at io.quarkus.test.common.LauncherUtil.waitForCapturedListeningData(LauncherUtil.java:109)

You cannot tell why it failed — and this exact generic message is what you get for every boot failure, regardless of cause (wrong JDK, bad config, port clash, unreachable DB, …).

AFTER (with PR #54554 — from s1-jdk-mismatch.log): the same run also prints the tail, which surfaces the real cause:

Last 30 line(s) of quarkus.log:
    ERROR [io.qua.run.Quarkus] Error running Quarkus: java.lang.ExceptionInInitializerError
    ...
    Caused by: java.lang.UnsupportedClassVersionError: com/.../GreetingResource has been compiled
    by a more recent version of the Java Runtime (class file version 65.0), this version of the
    Java Runtime only recognizes class file versions up to 61.0

The 7 scenarios

# Scenario Real cause log lines cause in last 50? raw log
S1 JDK mismatch (Java 21 bytecode on temurin:17-jre) UnsupportedClassVersionError 30 ✅ s1-jdk-mismatch.log
S2 missing required config config property is required 2 ✅ s2-missing-config.log
S3 HTTP port already bound Port 8081 seems to be in use 8 ✅ s3-port-bound.log
S4c schema validation, empty DB missing table [Widget] 38 ✅ s4c-schema-validate.log
S4b wrong DB password FATAL: password authentication failed 120 ✅ s4b-bad-password.log
S4a DB host unreachable ConnectException: Connection refused 140 ✅ s4a-unreachable.log
S5 noisy startup (60 INFO lines) then deep failure root NullPointerException 95 ✅ s5-noisy-deep.log

The message chain each tail surfaces (stack frames omitted here; full text is in the raw logs):

  • S2 (2 lines): Failed to load config value of type class java.lang.String for: lab.required.token
  • S3 (8 lines): Port 8081 seems to be in use by another process. ...
  • S4c (38): Caused by: SchemaManagementException: Schema validation: missing table [Widget]
  • S4b (120 → tail 50): Caused by: AuthException: ... [FATAL: password authentication failed for user "quarkus"] → Caused by: PSQLException: FATAL: password authentication failed
  • S4a (140 → tail 50): Caused by: PSQLException: Connection to localhost:5499 refused ... → Caused by: java.net.ConnectException: Connection refused
  • S5 (95 → tail 50): IllegalStateException: Failed to initialize the reporting module → RuntimeException: Report template engine could not start → IllegalArgumentException: Template 'monthly-summary' references unknown field 'grandTotal' → NullPointerException: field descriptor for 'grandTotal' was null

Findings

  1. 50 lines was enough in every real case. Boot-failure logs are either short (≤38 lines — the whole log fits), or — for larger ones — the failure stacktrace is logged last, so the root Caused by: is at the bottom of the file, which is what a tail keeps. Even the 95-line noisy run and the 140-line connection failure keep their root cause.

  2. What a blind tail loses (agrees with @gsmet). In the worst case (S4a, unreachable DB, 140-line log) the cause is present but 47 of the 50 tail lines are at … stack frames wrapping ~3 message lines, and the top-level Failed to start quarkus framing scrolls off. A smarter pass that surfaces the Caused by: message chain would compress S4a to ~4 lines.

  3. Suggested direction. Land the blind tail as the robust, zero-heuristic baseline (it never missed the cause across these 7 failures), then iterate toward message-chain extraction tuned against a corpus of real logs — exactly @gsmet's "play with examples". The logs in this gist are that corpus.

Reproduce

./run_all.sh          # rebuilds the apps, drives the 6 jar-mode failures, provisions Postgres, prints each tail
# or a single scenario:
javac TailHarness.java && java TailHarness s4a-unreachable.log 50

run_all.sh builds two tiny apps (app-misc: rest+arc; app-db: +hibernate-orm+jdbc-postgresql), injects each failure via runtime config, and feeds every captured log through the verbatim helper.

[INFO] Running com.lu1tr0n.repro.GreetingResourceIT
2026-05-28 14:48:27,043 INFO [io.quarkus.test.common.DefaultDockerContainerLauncher] (main) Executing "docker run --name quarkus-integration-test-LjmdL -i --rm -p 8081:8081 -p 8444:8444 --net=quarkus-integration-test-ZrbtM --env QUARKUS_LOG_CATEGORY__IO_QUARKUS__LEVEL=INFO --env QUARKUS_HTTP_PORT=8081 --env QUARKUS_HTTP_SSL_PORT=8444 --env TEST_URL=http://localhost:${quarkus.http.test-port:8081} --env QUARKUS_PROFILE=prod repro53799/maven-app:3360-jdkmismatch"
2026-05-28 14:48:27,053 INFO [io.quarkus.test.common.DefaultDockerContainerLauncher] (main) Wait for server to start by capturing listening data...
Failed to launch the application. The application logs can be found at: <project>/target/quarkus.log
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 66.05 s <<< FAILURE! -- in com.lu1tr0n.repro.GreetingResourceIT
[ERROR] com.lu1tr0n.repro.GreetingResourceIT.testHelloEndpoint -- Time elapsed: 0.018 s <<< ERROR!
java.lang.RuntimeException: java.lang.IllegalStateException: Unable to determine the status of the running process. See the above logs for details
at io.quarkus.test.junit.QuarkusIntegrationTestExtension.throwBootFailureException(QuarkusIntegrationTestExtension.java:387)
at io.quarkus.test.junit.QuarkusIntegrationTestExtension.beforeEach(QuarkusIntegrationTestExtension.java:125)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.IllegalStateException: Unable to determine the status of the running process. See the above logs for details
at io.quarkus.test.common.LauncherUtil.waitForCapturedListeningData(LauncherUtil.java:109)
at io.quarkus.test.common.DefaultDockerContainerLauncher.start(DefaultDockerContainerLauncher.java:321)
at io.quarkus.test.junit.IntegrationTestUtil.startLauncher(IntegrationTestUtil.java:130)
at io.quarkus.test.junit.QuarkusIntegrationTestExtension.doProcessStart(QuarkusIntegrationTestExtension.java:321)
at io.quarkus.test.junit.QuarkusIntegrationTestExtension.ensureStarted(QuarkusIntegrationTestExtension.java:190)
at io.quarkus.test.junit.QuarkusIntegrationTestExtension.beforeAll(QuarkusIntegrationTestExtension.java:148)
... 1 more
#!/usr/bin/env bash
#
# Reproducible end-to-end proof for quarkusio/quarkus#53799 / PR #54554.
#
# Builds the two lab apps, drives 7 real Quarkus boot failures, and feeds each captured
# application log through the verbatim applicationLogTail() helper from the PR branch
# (TailHarness.java), printing exactly what the PR would emit to System.err.
#
# S1 (JDK mismatch) is the pre-existing container repro under ../quarkus-53799-3360/ and is
# reported here from its captured log; the other six are rebuilt and re-run from scratch.
#
# Requirements: JDK 21, Docker (for the Postgres used by S4), internet (first Maven build only).
set -uo pipefail
cd "$(dirname "$0")"
LOGS=logs
mkdir -p "$LOGS"
hr() { printf '%s\n' "------------------------------------------------------------"; }
echo "############################################################"
echo "# Test environment"
echo "############################################################"
( . /etc/os-release 2>/dev/null; echo "OS : ${NAME:-Linux} ${VERSION:-} ($(uname -m))" )
echo "Build JDK : $(java -version 2>&1 | head -1 | sed 's/"//g')"
echo "Maven : $(./app-misc/mvnw -v 2>/dev/null | head -1)"
echo "Docker : $(docker version --format '{{.Server.Version}}' 2>/dev/null)"
echo "Quarkus : $(grep -m1 quarkus.platform.version app-misc/pom.xml | sed -E 's/.*>(.*)<.*/\1/')"
echo "PR helper : applicationLogTail() copied verbatim from fix/53799-it-boot-failure-log-tail @ b2f11c52e95"
echo
echo "############################################################"
echo "# 1. Build the lab apps (jar mode)"
echo "############################################################"
( cd app-misc && ./mvnw -q -B package -DskipTests ) || { echo "app-misc build failed"; exit 1; }
( cd app-db && ./mvnw -q -B package -DskipTests ) || { echo "app-db build failed"; exit 1; }
echo "built: app-misc, app-db"
echo
echo "############################################################"
echo "# 2. Ensure a local Postgres for the S4 (datasource) scenarios"
echo "############################################################"
if ! docker exec lab-pg pg_isready -U quarkus -d labdb >/dev/null 2>&1; then
docker rm -f lab-pg >/dev/null 2>&1
docker run -d --name lab-pg -e POSTGRES_PASSWORD=quarkus -e POSTGRES_USER=quarkus \
-e POSTGRES_DB=labdb -p 5432:5432 postgres:16 >/dev/null
for _ in $(seq 1 30); do docker exec lab-pg pg_isready -U quarkus -d labdb >/dev/null 2>&1 && break; sleep 1; done
fi
echo "postgres : $(docker exec lab-pg postgres --version 2>/dev/null)"
echo
echo "############################################################"
echo "# 3. Capture the six jar-mode boot failures"
echo "############################################################"
MISC=app-misc/target/quarkus-app/quarkus-run.jar
DB=app-db/target/quarkus-app/quarkus-run.jar
timeout 60 java -jar "$MISC" > "$LOGS/s2-missing-config.log" 2>&1 # S2 (no lab.required.token)
python3 -m http.server 8081 --bind 0.0.0.0 >/dev/null 2>&1 & OCC=$!; sleep 1 # S3 occupy :8081
timeout 60 java -Dlab.required.token=present -jar "$MISC" > "$LOGS/s3-port-bound.log" 2>&1
kill "$OCC" 2>/dev/null
timeout 60 java -Dlab.required.token=present -Dlab.scenario=noisy -jar "$MISC" > "$LOGS/s5-noisy-deep.log" 2>&1 # S5
timeout 90 java -jar "$DB" > "$LOGS/s4c-schema-validate.log" 2>&1 # S4c empty schema
timeout 90 java -Dquarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5499/labdb -jar "$DB" > "$LOGS/s4a-unreachable.log" 2>&1 # S4a
timeout 90 java -Dquarkus.datasource.password=wrongpass -jar "$DB" > "$LOGS/s4b-bad-password.log" 2>&1 # S4b
echo "captured: S2 S3 S5 S4a S4b S4c (S1 reused from ../quarkus-53799-3360/)"
cp -f ../quarkus-53799-3360/maven-app/target/quarkus.log "$LOGS/s1-jdk-mismatch.log" 2>/dev/null
echo
echo "############################################################"
echo "# 4. Run each log through the PR's applicationLogTail (50 lines)"
echo "############################################################"
javac TailHarness.java || { echo "harness compile failed"; exit 1; }
printf '%-22s %6s %s\n' "scenario" "lines" "cause in last 50?"
hr
declare -A NEEDLE=(
[s1-jdk-mismatch]="UnsupportedClassVersionError"
[s2-missing-config]="lab.required.token"
[s3-port-bound]="seems to be in use"
[s4c-schema-validate]="missing table"
[s4b-bad-password]="password authentication failed"
[s4a-unreachable]="Connection to localhost:5499 refused"
[s5-noisy-deep]="grandTotal" )
for s in s1-jdk-mismatch s2-missing-config s3-port-bound s4c-schema-validate s4b-bad-password s4a-unreachable s5-noisy-deep; do
[ -f "$LOGS/$s.log" ] || continue
java TailHarness "$LOGS/$s.log" 50 > "$LOGS/$s.tail.txt"
tot=$(wc -l < "$LOGS/$s.log")
grep -qiF "${NEEDLE[$s]}" "$LOGS/$s.tail.txt" && ok="YES" || ok="NO"
printf '%-22s %6s %s\n' "$s" "$tot" "$ok"
done
hr
echo "Per-scenario tail output: $LOGS/*.tail.txt | full write-up: RESULTS.md"
20:48:27,725 ERROR [io.qua.run.Quarkus] Error running Quarkus: java.lang.ExceptionInInitializerError
at java.base/jdk.internal.misc.Unsafe.allocateInstance(Native Method)
at java.base/java.lang.invoke.DirectMethodHandle.allocateInstance(Unknown Source)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:78)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:50)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:143)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:72)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.<clinit>(Unknown Source)
... 8 more
Caused by: java.lang.UnsupportedClassVersionError: com/lu1tr0n/repro/GreetingResource has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
at io.quarkus.bootstrap.runner.RunnerClassLoader.defineClass(RunnerClassLoader.java:176)
at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:132)
at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:86)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at com.lu1tr0n.repro.GreetingResource_Bean.<init>(Unknown Source)
at io.quarkus.arc.setup.Default_ComponentsProvider_addBeans0.addBeans0(Unknown Source)
at io.quarkus.arc.setup.Default_ComponentsProvider.getComponents(Unknown Source)
at io.quarkus.arc.impl.ArcContainerImpl.<init>(ArcContainerImpl.java:137)
at io.quarkus.arc.Arc.initialize(Arc.java:53)
at io.quarkus.arc.runtime.ArcRecorder.initContainer(ArcRecorder.java:53)
at io.quarkus.runner.recorded.ArcProcessor$initializeContainer643029769.deploy_0(Unknown Source)
at io.quarkus.runner.recorded.ArcProcessor$initializeContainer643029769.deploy(Unknown Source)
... 9 more
Failed to load config value of type class java.lang.String for: lab.required.token
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2026-05-29 09:54:53,606 INFO [com.lu1tr0n.lab.LabStartup] (main) Lab application starting (scenario=none)
2026-05-29 09:54:53,813 ERROR [io.quarkus.runtime.Application] (main) Port 8081 seems to be in use by another process. Quarkus may already be running or the port is used by another application.
2026-05-29 09:54:53,820 WARN [io.quarkus.runtime.Application] (main) Use 'ss -anop | grep 8081' or 'netstat -anop | grep 8081' to identify the process occupying the port.
2026-05-29 09:54:53,821 WARN [io.quarkus.runtime.Application] (main) You can try to kill it with 'kill -9 <pid>'.
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2026-05-29 09:54:59,483 WARN [io.quarkus.config] (main) The "quarkus.hibernate-orm.database.generation" config property is deprecated and should not be used anymore.
2026-05-29 09:55:00,970 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) HHH000247: ErrorCode: 0, SQLState: 08001
2026-05-29 09:55:00,970 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2026-05-29 09:55:00,972 WARN [org.hibernate.orm.jdbc] (JPA Startup Thread) HHH100046: Could not obtain connection to query JDBC database metadata: org.hibernate.exception.JDBCConnectionException: Unable to obtain isolated JDBC connection [Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.] [n/a]
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:80)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:101)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.convert(JtaIsolationDelegate.java:228)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doTheWork(JtaIsolationDelegate.java:196)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.lambda$delegateWork$0(JtaIsolationDelegate.java:75)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doInSuspendedTransaction(JtaIsolationDelegate.java:111)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.delegateWork(JtaIsolationDelegate.java:72)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:366)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironment(JdbcEnvironmentInitiator.java:143)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:120)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:80)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:133)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:260)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:235)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212)
at org.hibernate.service.ServiceRegistry.requireService(ServiceRegistry.java:66)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:50)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:139)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:244)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212)
at org.hibernate.service.ServiceRegistry.requireService(ServiceRegistry.java:66)
at org.hibernate.boot.internal.SessionFactoryOptionsBuilder.<init>(SessionFactoryOptionsBuilder.java:282)
at io.quarkus.hibernate.orm.runtime.recording.PrevalidatedQuarkusMetadata.buildSessionFactoryOptionsBuilder(PrevalidatedQuarkusMetadata.java:70)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:98)
at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:90)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:90)
at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:178)
at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:65)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.postgresql.util.PSQLException: Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:425)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:290)
at org.postgresql.Driver.makeConnection(Driver.java:448)
at org.postgresql.Driver.connect(Driver.java:298)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:226)
at io.agroal.pool.ConnectionPool.createAndPoolConnection(ConnectionPool.java:662)
at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:377)
at io.agroal.pool.ConnectionPool.internalGetConnection(ConnectionPool.java:318)
at io.agroal.pool.ConnectionPool.getConnection(ConnectionPool.java:291)
at io.agroal.pool.DataSource.getConnection(DataSource.java:86)
at io.quarkus.hibernate.orm.runtime.customized.QuarkusConnectionProvider.getConnection(QuarkusConnectionProvider.java:27)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doTheWork(JtaIsolationDelegate.java:193)
... 25 more
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:751)
at org.postgresql.core.PGStream.createSocket(PGStream.java:271)
at org.postgresql.core.PGStream.<init>(PGStream.java:132)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:219)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:365)
... 38 more
2026-05-29 09:55:02,771 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) HHH000247: ErrorCode: 0, SQLState: 08001
2026-05-29 09:55:02,772 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2026-05-29 09:55:02,824 ERROR [io.quarkus.runtime.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:112)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:129)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:79)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:50)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:143)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:72)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: <default>] Unable to build Hibernate SessionFactory
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.persistenceException(FastBootEntityManagerFactoryBuilder.java:146)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:103)
at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:90)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:90)
at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:178)
at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:65)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.hibernate.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution [Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.] [n/a]
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:80)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:101)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:74)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:63)
at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:61)
at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:41)
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:36)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:73)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:63)
at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:174)
at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:66)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:278)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$1(SchemaManagementToolCoordinator.java:101)
at java.base/java.util.HashMap.forEach(HashMap.java:1429)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:100)
at io.quarkus.hibernate.orm.runtime.observers.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:21)
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:33)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:323)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:101)
... 5 more
Caused by: org.postgresql.util.PSQLException: Connection to localhost:5499 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:425)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:290)
at org.postgresql.Driver.makeConnection(Driver.java:448)
at org.postgresql.Driver.connect(Driver.java:298)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:226)
at io.agroal.pool.ConnectionPool.createAndPoolConnection(ConnectionPool.java:662)
at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:377)
at io.agroal.pool.ConnectionPool.internalGetConnection(ConnectionPool.java:318)
at io.agroal.pool.ConnectionPool.getConnection(ConnectionPool.java:291)
at io.agroal.pool.DataSource.getConnection(DataSource.java:86)
at io.quarkus.hibernate.orm.runtime.customized.QuarkusConnectionProvider.getConnection(QuarkusConnectionProvider.java:27)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:70)
... 21 more
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:751)
at org.postgresql.core.PGStream.createSocket(PGStream.java:271)
at org.postgresql.core.PGStream.<init>(PGStream.java:132)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:219)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:365)
... 34 more
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2026-05-29 09:55:05,371 WARN [io.quarkus.config] (main) The "quarkus.hibernate-orm.database.generation" config property is deprecated and should not be used anymore.
2026-05-29 09:55:06,977 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) HHH000247: ErrorCode: 0, SQLState: 28P01
2026-05-29 09:55:06,979 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) FATAL: password authentication failed for user "quarkus"
2026-05-29 09:55:06,980 WARN [org.hibernate.orm.jdbc] (JPA Startup Thread) HHH100046: Could not obtain connection to query JDBC database metadata: org.hibernate.exception.AuthException: Unable to obtain isolated JDBC connection [FATAL: password authentication failed for user "quarkus"] [n/a]
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:87)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:101)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.convert(JtaIsolationDelegate.java:228)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doTheWork(JtaIsolationDelegate.java:196)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.lambda$delegateWork$0(JtaIsolationDelegate.java:75)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doInSuspendedTransaction(JtaIsolationDelegate.java:111)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.delegateWork(JtaIsolationDelegate.java:72)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:366)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironment(JdbcEnvironmentInitiator.java:143)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:120)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:80)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:133)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:260)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:235)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212)
at org.hibernate.service.ServiceRegistry.requireService(ServiceRegistry.java:66)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:50)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:139)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:244)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:212)
at org.hibernate.service.ServiceRegistry.requireService(ServiceRegistry.java:66)
at org.hibernate.boot.internal.SessionFactoryOptionsBuilder.<init>(SessionFactoryOptionsBuilder.java:282)
at io.quarkus.hibernate.orm.runtime.recording.PrevalidatedQuarkusMetadata.buildSessionFactoryOptionsBuilder(PrevalidatedQuarkusMetadata.java:70)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:98)
at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:90)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:90)
at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:178)
at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:65)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "quarkus"
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:835)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:307)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:365)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:290)
at org.postgresql.Driver.makeConnection(Driver.java:448)
at org.postgresql.Driver.connect(Driver.java:298)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:226)
at io.agroal.pool.ConnectionPool.createAndPoolConnection(ConnectionPool.java:662)
at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:377)
at io.agroal.pool.ConnectionPool.internalGetConnection(ConnectionPool.java:318)
at io.agroal.pool.ConnectionPool.getConnection(ConnectionPool.java:291)
at io.agroal.pool.DataSource.getConnection(DataSource.java:86)
at io.quarkus.hibernate.orm.runtime.customized.QuarkusConnectionProvider.getConnection(QuarkusConnectionProvider.java:27)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508)
at org.hibernate.resource.transaction.backend.jta.internal.JtaIsolationDelegate.doTheWork(JtaIsolationDelegate.java:193)
... 25 more
2026-05-29 09:55:08,932 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) HHH000247: ErrorCode: 0, SQLState: 28P01
2026-05-29 09:55:08,935 WARN [org.hibernate.orm.jdbc.error] (JPA Startup Thread) FATAL: password authentication failed for user "quarkus"
2026-05-29 09:55:08,986 ERROR [io.quarkus.runtime.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:112)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:129)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:79)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:50)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:143)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:72)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: <default>] Unable to build Hibernate SessionFactory
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.persistenceException(FastBootEntityManagerFactoryBuilder.java:146)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:103)
at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:90)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:90)
at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:178)
at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:65)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.hibernate.exception.AuthException: Unable to open JDBC Connection for DDL execution [FATAL: password authentication failed for user "quarkus"] [n/a]
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:87)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:34)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:115)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:101)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:74)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:63)
at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:61)
at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:41)
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:36)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:73)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:63)
at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:174)
at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:66)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:278)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$1(SchemaManagementToolCoordinator.java:101)
at java.base/java.util.HashMap.forEach(HashMap.java:1429)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:100)
at io.quarkus.hibernate.orm.runtime.observers.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:21)
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:33)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:323)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:101)
... 5 more
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "quarkus"
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:835)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:307)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:365)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:52)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:290)
at org.postgresql.Driver.makeConnection(Driver.java:448)
at org.postgresql.Driver.connect(Driver.java:298)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:226)
at io.agroal.pool.ConnectionPool.createAndPoolConnection(ConnectionPool.java:662)
at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:377)
at io.agroal.pool.ConnectionPool.internalGetConnection(ConnectionPool.java:318)
at io.agroal.pool.ConnectionPool.getConnection(ConnectionPool.java:291)
at io.agroal.pool.DataSource.getConnection(DataSource.java:86)
at io.quarkus.hibernate.orm.runtime.customized.QuarkusConnectionProvider.getConnection(QuarkusConnectionProvider.java:27)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:508)
at org.hibernate.resource.transaction.backend.jta.internal.DdlTransactionIsolatorJtaImpl.getIsolatedConnection(DdlTransactionIsolatorJtaImpl.java:70)
... 21 more
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2026-05-29 09:54:55,529 WARN [io.quarkus.config] (main) The "quarkus.hibernate-orm.database.generation" config property is deprecated and should not be used anymore.
2026-05-29 09:54:57,119 ERROR [io.quarkus.runtime.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:112)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:129)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:79)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:50)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:143)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:72)
at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: <default>] Unable to build Hibernate SessionFactory
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.persistenceException(FastBootEntityManagerFactoryBuilder.java:146)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:103)
at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:90)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:90)
at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:178)
at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:65)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema validation: missing table [Widget]
at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateTable(AbstractSchemaValidator.java:121)
at org.hibernate.tool.schema.internal.GroupedSchemaValidatorImpl.validateTables(GroupedSchemaValidatorImpl.java:42)
at org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:90)
at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:68)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:278)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$1(SchemaManagementToolCoordinator.java:101)
at java.base/java.util.HashMap.forEach(HashMap.java:1429)
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:100)
at io.quarkus.hibernate.orm.runtime.observers.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:21)
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:33)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:323)
at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:101)
... 5 more
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
/**
* Standalone harness for quarkusio/quarkus#54554.
*
* The applicationLogTail method below is copied VERBATIM from the PR branch
* (test-framework/junit/.../QuarkusIntegrationTestExtension.java). It is pure, so this reproduces
* the exact output the PR would print to System.err — without building Quarkus 999-SNAPSHOT.
*
* Usage: java TailHarness <quarkus.log path> [maxLines=50]
*/
public class TailHarness {
private static final int APP_LOG_TAIL_LINES = 50;
public static void main(String[] args) throws Exception {
if (args.length < 1) {
System.err.println("usage: java TailHarness <log file> [maxLines]");
System.exit(2);
}
Path logFile = Path.of(args[0]);
int maxLines = args.length > 1 ? Integer.parseInt(args[1]) : APP_LOG_TAIL_LINES;
applicationLogTail(Files.readAllLines(logFile), maxLines, logFile.getFileName().toString())
.forEach(System.out::println);
}
// --- verbatim from QuarkusIntegrationTestExtension on branch fix/53799-it-boot-failure-log-tail ---
static List<String> applicationLogTail(List<String> lines, int maxLines, String fileName) {
if (lines.isEmpty()) {
return List.of();
}
int from = Math.max(0, lines.size() - maxLines);
List<String> tail = new ArrayList<>(lines.size() - from + 1);
tail.add("Last " + (lines.size() - from) + " line(s) of " + fileName + ":");
for (String line : lines.subList(from, lines.size())) {
tail.add(" " + line);
}
return tail;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment