Spring Flux<Part> doOnNext not executed - spring

I'm using Reactive Spring for file upload and I can't quite understand how this works.
// Code 1
#PostMapping(value = "/upload", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public Mono<Void> upload(#RequestPart("key") Flux<Part> partFlux) {
return partFlux
.log(null, Level.INFO)
.doOnNext(part -> {
logger.info("[Return] " + part.name(), part.headers());
})
.then();
}
This receives a multipart request and logs its parts successfully.
However, the next version doesn't work:
// Code 2
#PostMapping(value = "/upload", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public void upload(#RequestPart("key") Flux<Part> partFlux) {
partFlux
.log(null, Level.INFO)
.doOnNext(part -> {
logger.info("[Subscribe] " + part.name(), part.headers());
})
.subscribe();
}
The difference is this does not returns but subscribes to the input Flux, which I expect to work as same as Code 1. However in the execution log, even though subscribe itself was successfully called, logging was not performed.
So I assumed that somehow Spring ignores/skips the inner subscription, but this was also not true.
#PostMapping(value = "/upload", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public void upload(#RequestPart("key") Flux<Part> partFlux) {
Flux.just(1, 2, 3, 4)
.log(null, Level.INFO)
.doOnNext(v -> {
logger.info("[Inner] " + v.toString());
})
.subscribe();
}
This successfully runs the inner subscription and creates log.
I'm confused why Code 1 and 2 works differently, mainly how doOnNext in Code 2 gets ignored.
Appendix
Execution logs of Code 1
2021-10-18 14:28:41.932 TRACE 39084 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [c5c6915b-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:56565] HTTP POST "/upload", headers={masked}
2021-10-18 14:28:41.944 DEBUG 39084 --- [ctor-http-nio-2] s.w.r.r.m.a.RequestMappingHandlerMapping : [c5c6915b-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:56565] Mapped to com.healthhub.rxstudy.rest.FluxUploadController#upload(Flux)
2021-10-18 14:28:41.962 INFO 39084 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | onSubscribe([Fuseable] FluxFlattenIterable.FlattenIterableSubscriber)
2021-10-18 14:28:41.964 INFO 39084 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | request(unbounded)
2021-10-18 14:28:41.981 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : First boundary found #39 in PooledSlicedByteBuf(ridx: 0, widx: 228, cap: 228/228, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.982 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: PREAMBLE -> HEADERS
2021-10-18 14:28:41.982 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : End of headers found #47 in PooledSlicedByteBuf(ridx: 0, widx: 188, cap: 188/188, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.983 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Emitting headers: [Content-Disposition:"form-data; name="key""]
2021-10-18 14:28:41.986 TRACE 39084 --- [ctor-http-nio-2] o.s.http.codec.multipart.PartGenerator : Changed state: INITIAL -> FORM-FIELD
2021-10-18 14:28:41.986 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: HEADERS -> BODY
2021-10-18 14:28:41.987 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Boundary found #43 in PooledSlicedByteBuf(ridx: 0, widx: 140, cap: 140/140, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.987 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Emitting body: PooledSlicedByteBuf(ridx: 0, widx: 2, cap: 2/2, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.987 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: BODY -> HEADERS
2021-10-18 14:28:41.988 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : End of headers found #47 in PooledSlicedByteBuf(ridx: 0, widx: 96, cap: 96/96, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.988 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Emitting headers: [Content-Disposition:"form-data; name="key""]
2021-10-18 14:28:41.989 TRACE 39084 --- [ctor-http-nio-2] o.s.http.codec.multipart.PartGenerator : Emitting: DefaultFormFieldPart{key}
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.http.codec.multipart.PartGenerator : Changed state: FORM-FIELD -> FORM-FIELD
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: HEADERS -> BODY
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Boundary found #43 in PooledSlicedByteBuf(ridx: 0, widx: 48, cap: 48/48, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Emitting body: PooledSlicedByteBuf(ridx: 0, widx: 2, cap: 2/2, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: BODY -> HEADERS
2021-10-18 14:28:41.990 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Last boundary found in PooledSlicedByteBuf(ridx: 0, widx: 4, cap: 4/4, unwrapped: PooledUnsafeDirectByteBuf(ridx: 1471, widx: 1471, cap: 2048))
2021-10-18 14:28:41.991 TRACE 39084 --- [ctor-http-nio-2] o.s.h.codec.multipart.MultipartParser : Changed state: HEADERS -> DISPOSED
2021-10-18 14:28:41.991 TRACE 39084 --- [ctor-http-nio-2] o.s.http.codec.multipart.PartGenerator : Emitting: DefaultFormFieldPart{key}
2021-10-18 14:28:41.991 TRACE 39084 --- [ctor-http-nio-2] o.s.h.c.m.MultipartHttpMessageReader : [c5c6915b-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:56565] Parsed parts [key] (content masked)
2021-10-18 14:28:41.992 INFO 39084 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | onNext(DefaultFormFieldPart{key})
2021-10-18 14:28:41.992 INFO 39084 --- [ctor-http-nio-2] c.h.rxstudy.rest.FluxUploadController : [Return] key
2021-10-18 14:28:41.992 INFO 39084 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | onNext(DefaultFormFieldPart{key})
2021-10-18 14:28:41.992 INFO 39084 --- [ctor-http-nio-2] c.h.rxstudy.rest.FluxUploadController : [Return] key
2021-10-18 14:28:41.992 INFO 39084 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | onComplete()
2021-10-18 14:28:41.993 TRACE 39084 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [c5c6915b-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:56565] Completed 200 OK, headers={masked}
2021-10-18 14:28:41.994 TRACE 39084 --- [ctor-http-nio-2] o.s.h.s.r.ReactorHttpHandlerAdapter : [c5c6915b-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:56565] Handling completed
Execution logs of Code 2
2021-10-18 14:24:59.157 TRACE 37416 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [ff1c78e0-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:61525] HTTP POST "/upload", headers={masked}
2021-10-18 14:24:59.173 DEBUG 37416 --- [ctor-http-nio-2] s.w.r.r.m.a.RequestMappingHandlerMapping : [ff1c78e0-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:61525] Mapped to com.healthhub.rxstudy.rest.FluxUploadController#upload(Flux)
2021-10-18 14:24:59.190 INFO 37416 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | onSubscribe([Fuseable] FluxFlattenIterable.FlattenIterableSubscriber)
2021-10-18 14:24:59.191 INFO 37416 --- [ctor-http-nio-2] reactor.Flux.MonoFlattenIterable.1 : | request(unbounded)
2021-10-18 14:24:59.207 TRACE 37416 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [ff1c78e0-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:61525] Completed 200 OK, headers={masked}
2021-10-18 14:24:59.209 TRACE 37416 --- [ctor-http-nio-2] o.s.h.s.r.ReactorHttpHandlerAdapter : [ff1c78e0-1, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:61525] Handling completed

Related

HikariPool-1 - Exception during pool initialization with SpringBoot and Hibernate and JPA Repository

HikariPool-1 - Exception during pool initialization when trying to run spring-boot application. While running mvn spring-boot:run command, the logs show repositories initialized and server starts and is in running state but throws exception during hikari pool initialization!
Able to connect to the DB using pgAdmin but not able to connect from the application. The code from application.properties is below.
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring.datasource.url= jdbc:postgresql:/34.93.135.89:5433/mtt_04_dec_22
spring.datasource.username= postgres
spring.datasource.password= justdoit#mtt
spring.jpa.hibernate.ddl-auto= none
spring.datasource.testWhileIdle=true
spring.datasource.test-on-borrow=true
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.maxLifetime=60000
spring.datasource.hikari.maximum-pool-size=30
spring.jpa.open-in-view=false
And Hikari debug logs
PersistenceUnitInfo [name: default]
2022-12-02 11:30:24.569 INFO 14176 --- [ task-1] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.15.Final
2022-12-02 11:30:24.791 INFO 14176 --- [ task-1] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2022-12-02 11:30:24.947 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : HikariPool-1 - configuration:
2022-12-02 11:30:24.950 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : allowPoolSuspension.............false
2022-12-02 11:30:24.950 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : autoCommit......................true
2022-12-02 11:30:24.951 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : catalog.........................none
2022-12-02 11:30:24.951 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : connectionInitSql...............none
2022-12-02 11:30:24.951 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : connectionTestQuery.............none
2022-12-02 11:30:24.952 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : connectionTimeout...............30000
2022-12-02 11:30:24.952 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : dataSource......................none
2022-12-02 11:30:24.952 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : dataSourceClassName.............none
2022-12-02 11:30:24.952 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : dataSourceJNDI..................none
2022-12-02 11:30:24.953 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : dataSourceProperties............{password=<masked>}
2022-12-02 11:30:24.953 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : driverClassName................."org.postgresql.Driver"
2022-12-02 11:30:24.953 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : exceptionOverrideClassName......none
2022-12-02 11:30:24.954 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : healthCheckProperties...........{}
2022-12-02 11:30:24.954 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : healthCheckRegistry.............none
2022-12-02 11:30:24.954 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : idleTimeout.....................600000
2022-12-02 11:30:24.954 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : initializationFailTimeout.......1
2022-12-02 11:30:24.955 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : isolateInternalQueries..........false
2022-12-02 11:30:24.955 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : jdbcUrl.........................jdbc:postgresql:/35.200.211.39:5432/mtt_04_dec_22
2022-12-02 11:30:24.955 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : leakDetectionThreshold..........0
2022-12-02 11:30:24.955 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : maxLifetime.....................30000
2022-12-02 11:30:24.956 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : maximumPoolSize.................30
2022-12-02 11:30:24.956 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : metricRegistry..................none
2022-12-02 11:30:24.956 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : metricsTrackerFactory...........none
2022-12-02 11:30:24.956 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : minimumIdle.....................30
2022-12-02 11:30:24.956 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : password........................<masked>
2022-12-02 11:30:24.957 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : poolName........................"HikariPool-1"
2022-12-02 11:30:24.957 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : readOnly........................false
2022-12-02 11:30:24.957 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : registerMbeans..................false
2022-12-02 11:30:24.957 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : scheduledExecutor...............none
2022-12-02 11:30:24.957 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : schema..........................none
2022-12-02 11:30:24.958 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : threadFactory...................internal
2022-12-02 11:30:24.958 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : transactionIsolation............default
2022-12-02 11:30:24.958 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : username........................"postgres"
2022-12-02 11:30:24.959 DEBUG 14176 --- [ task-1] com.zaxxer.hikari.HikariConfig : validationTimeout...............5000
EXCEPTION ON CONSOLE LOOKS LIKE:
HikariPool-1 - Exception during pool initialization.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.0.RELEASE)
2022-12-02 09:26:51.258 INFO 14888 --- [ main] org.sadisha.backend.service.Main : Starting Main on DESKTOP-991KNCS with PID 14888 (C:\mttbe\mtt-be\target\classes started by Admin in C:\mttbe\mtt-be)
2022-12-02 09:26:51.265 INFO 14888 --- [ main] org.sadisha.backend.service.Main : No active profile set, falling back to default profiles: default
2022-12-02 09:26:52.481 INFO 14888 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2022-12-02 09:26:52.715 INFO 14888 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 220ms. Found 11 JPA repository interfaces.
2022-12-02 09:26:53.776 INFO 14888 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2022-12-02 09:26:53.793 INFO 14888 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2022-12-02 09:26:53.794 INFO 14888 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.35]
2022-12-02 09:26:54.042 INFO 14888 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2022-12-02 09:26:54.043 INFO 14888 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2655 ms
2022-12-02 09:26:54.178 INFO 14888 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2022-12-02 09:26:57.285 ERROR 14888 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
org.postgresql.util.PSQLException: Connection to localhost:5432 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:303) ~[postgresql-42.2.18.jar:42.2.18]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.18.jar:42.2.18]
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:225) ~[postgresql-42.2.18.jar:42.2.18]
at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.18.jar:42.2.18]
at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.18.jar:42.2.18]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar:na]
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) ~[spring-jdbc-5.2.6.RELEASE.jar:5.2.6.RELEASE]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) ~[spring-jdbc-5.2.6.RELEASE.jar:5.2.6.RELEASE]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) ~[spring-jdbc-5.2.6.RELEASE.jar:5.2.6.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:324) ~[spring-jdbc-5.2.6.RELEASE.jar:5.2.6.RELEASE]
at org.springframework.boot.jdbc.EmbeddedDatabaseConnection.isEmbedded(EmbeddedDatabaseConnection.java:120) ~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer.isEmbedded(DataSourceInitializer.java:137) ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer.isEnabled(DataSourceInitializer.java:129) ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer.createSchema(DataSourceInitializer.java:96) ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]
in your application.properties
change this :
spring.datasource.url=jdbc:postgresql:/34.93.135.89:5433/mtt_04_dec_22
postgresql defaulty adress is 5432 not 5433. probably this is the reason of error
here is you wrote: 34.93.135.89:5433

Spring boot (2.2.4.RELEASE) on docker hangs on boot unless network_mode: host

I have a dockerized springboot application, if I run the image on my machine (ubuntu) all works fine with docker network mode default, as soon I run the image on an enterprise server (VPS) with the default, it hangs on startup and stays there forever.
2020-03-24 08:26:47.590 INFO 1 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5.4.10.Final}
2020-03-24 08:26:47.821 INFO 1 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-03-24 08:26:48.015 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2020-03-24 08:26:48.125 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2020-03-24 08:26:48.151 INFO 1 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
or in debug
2020-03-24 08:19:43.856 DEBUG 1 --- [onnection adder] o.p.core.v3.ConnectionFactoryImpl : Send Buffer Size is 43,520
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection#7b248da4
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] org.postgresql.Driver : Connecting with URL: jdbc:postgresql://157.46.186.128:62013/db
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] org.postgresql.jdbc.PgConnection : PostgreSQL JDBC Driver 42.2.9
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] org.postgresql.jdbc.PgConnection : setDefaultFetchSize = 0
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] org.postgresql.jdbc.PgConnection : setPrepareThreshold = 5
2020-03-24 08:19:43.935 DEBUG 1 --- [onnection adder] o.p.core.v3.ConnectionFactoryImpl : Trying to establish a protocol version 3 connection to 160.46.186.128:62013
2020-03-24 08:19:43.936 DEBUG 1 --- [onnection adder] o.p.core.v3.ConnectionFactoryImpl : Receive Buffer Size is 186,240
2020-03-24 08:19:43.937 DEBUG 1 --- [onnection adder] o.p.core.v3.ConnectionFactoryImpl : Send Buffer Size is 43,520
2020-03-24 08:19:44.007 DEBUG 1 --- [onnection adder] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection#205272d5
2020-03-24 08:19:44.008 DEBUG 1 --- [onnection adder] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - After adding stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:20:10.592 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:20:39.272 DEBUG 1 --- [alina-utility-2] org.apache.catalina.session.ManagerBase : Start expire sessions StandardManager at 1585038039271 sessioncount 0
2020-03-24 08:20:39.272 DEBUG 1 --- [alina-utility-2] org.apache.catalina.session.ManagerBase : End expire sessions StandardManager processingTime 1 expired sessions: 0
2020-03-24 08:20:40.592 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:21:10.593 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:21:39.274 DEBUG 1 --- [alina-utility-2] org.apache.catalina.session.ManagerBase : Start expire sessions StandardManager at 1585038099274 sessioncount 0
2020-03-24 08:21:39.274 DEBUG 1 --- [alina-utility-2] org.apache.catalina.session.ManagerBase : End expire sessions StandardManager processingTime 0 expired sessions: 0
2020-03-24 08:21:40.593 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:22:10.594 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:22:39.277 DEBUG 1 --- [alina-utility-1] org.apache.catalina.session.ManagerBase : Start expire sessions StandardManager at 1585038159277 sessioncount 0
2020-03-24 08:22:39.277 DEBUG 1 --- [alina-utility-1] org.apache.catalina.session.ManagerBase : End expire sessions StandardManager processingTime 0 expired sessions: 0
2020-03-24 08:22:40.594 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
2020-03-24 08:23:10.595 DEBUG 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=1, idle=9, waiting=0)
I have tried to configure my custom network on docker level, use ip, hostnames and no luck.
has anyone experienced same behavior?
Spring Config:
spring:
flyway:
url: jdbc:postgresql://157.46.186.128:62013/db
user: user
password: xxxxx
locations: classpath:db/migration
schemas: db1
datasource:
db:
jdbcUrl: "jdbc:postgresql://157.46.186.128:62013/db"
username: "user"
password: "xxxxx"
driver-class-name: "org.postgresql.Driver"
dialect: "org.hibernate.dialect.PostgreSQL95Dialect"
ci:
jdbcUrl: "jdbc:postgresql://157.46.186.128:62013/db"
username: "user"
password: "xxxxx"
driver-class-name: "org.postgresql.Driver"
dialect: "org.hibernate.dialect.PostgreSQL95Dialect"
schema: ci
docker network settings:
with host mode
"Bridge": "",
"SandboxID": "49fa5d5e812c816a84efe92156e825151b2dc75a36bb68c399b943e06c26a6f7",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/default",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"host": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "d6ecd673f06e15560a16dc5bb38ea4be99e751bfb729d819ab76c50320836443",
"EndpointID": "087b1a6fed2cd5b4de46c6700a9ef7e79de6fc3e58a0ecfdd74a8a851429eaa6",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
}
and without
"NetworkSettings": {
"Bridge": "",
"SandboxID": "cf8d68a1b1c61d454ed45eb48f4007591d07414f2147410c1381d60e12b93445",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"7979/tcp": null,
"8080/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8080"
}
]
},
"SandboxKey": "/var/run/docker/netns/cf8d68a1b1c6",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "49993412f56f7bd29edd55091bd77bba66a40ae566daf8111f891be9aa21d4ce",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "bf5b2dfe32339838a40b351409fb7750f632a3810cb8774db195f49eed8a3ed5",
"EndpointID": "49993412f56f7bd29edd55091bd77bba66a40ae566daf8111f891be9aa21d4ce",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
I had to set docker daemon MTU to be the same as the network card.
ip link show
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> **mtu 1450** qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
edited /etc/docker/daemon.json
"mtu": 1450
}
Problem solved. Tricky one, when I did remote debugging I notice that it was blocking on socket read, from there google was my friend.
https://mlohr.com/docker-mtu/

Spring Kafka rebalance clarification

I just want to understand kafka rebalance.This is my listener method. I have configured RetryTemplate with consumer factory to retry 20 times with a backoff delay of 20secs. I'm using spring-kafka 1.2.2(we are planning to upgrade client) and using manual acks.
#KafkaListener(id = "${kafka.listener-id}", topics = "${kafka.topic}")
public void listen(final ConsumerRecord<String, String> consumerRecord,
final Acknowledgment acknowledgment) throws ServiceResponseException {}
if (true){
System.out.println("throwing exception ");
throw new RuntimeException();
}
try {
acknowledgment.acknowledge();
LOGGER.info("Kafka acknowledgment sent for Transaction ID:");
} catch (Exception e) {
LOGGER.info("Exception encountered when acking record with transaction id: {}");
}
}
I have 2 workers that has concurrency 2 each. On kafka I have 3 partitions. I started one worker and 3 partitions are assigned to worker1. And then I sent a message. And a RuntimeException is thrown in listener and this happens for 20 times with 20 sec delay. Then when I started worker2 kafka rebalance triggers but partitions are not yet assigned. worker1 fails with message "Error while processing: ConsumerRecord"(after getContainerProperties().getShutdownTimeout())and and then all consumers join the group. And now the same message is delivered to worker2.
1) And this is working as I needed it to work. But I have a question, when a rebalance triggers why is partition assignment not happening immediately instead it waits for the worker1 to stop completely(waiting for getContainerProperties().getShutdownTimeout()) and then all consumers from worker1 and worker2 joins groups.
2) And during rebalance I observed that consumers stop calling poll(from logs below). Is it true?
Trace logs from worker 1:
2018-09-23 13:52:53.259 TRACE 6384 --- [ listener-2-L-1] essageListenerContainer$ListenerConsumer : No records to process
2018-09-23 13:52:53.259 TRACE 6384 --- [ listener-0-L-1] essageListenerContainer$ListenerConsumer : No records to process
2018-09-23 13:52:53.384 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:52:53.384 TRACE 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:52:53.977 DEBUG 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:52:53.977 TRACE 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:52:54.008 DEBUG 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:52:54.008 TRACE 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:52:54.023 INFO 6384 --- [ listener-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Revoking previously assigned partitions [messages-0] for group mris-group
2018-09-23 13:52:54.023 TRACE 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received partition revocation notification, and will stop the invoker.
2018-09-23 13:52:54.023 DEBUG 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Stopping invoker
2018-09-23 13:52:54.081 INFO 6384 --- [ listener-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Revoking previously assigned partitions [messages-1] for group mris-group
2018-09-23 13:52:54.081 TRACE 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Received partition revocation notification, and will stop the invoker.
2018-09-23 13:52:54.081 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Stopping invoker
2018-09-23 13:52:54.241 INFO 6384 --- [ listener-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Revoking previously assigned partitions [messages-2] for group mris-group
2018-09-23 13:52:54.241 TRACE 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Received partition revocation notification, and will stop the invoker.
2018-09-23 13:52:54.241 DEBUG 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Stopping invoker
2018-09-23 13:52:54.264 DEBUG 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Invoker stopped
2018-09-23 13:52:54.264 DEBUG 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Invoker stopped
2018-09-23 13:52:54.264 INFO 6384 --- [ listener-2-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions revoked:[messages-2]
2018-09-23 13:52:54.264 INFO 6384 --- [ listener-0-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions revoked:[messages-0]
2018-09-23 13:52:54.264 INFO 6384 --- [ listener-2-C-1] o.a.k.c.c.internals.AbstractCoordinator : (Re-)joining group mris-group
2018-09-23 13:52:54.265 INFO 6384 --- [ listener-0-C-1] o.a.k.c.c.internals.AbstractCoordinator : (Re-)joining group mris-group
2018-09-23 13:53:09.355 DEBUG 6384 --- [ listener-1-L-1] .a.RecordMessagingMessageListenerAdapter : Processing [GenericMessage [payload=<removed>]
throwing exception
2018-09-23 13:53:24.083 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Interrupting invoker
2018-09-23 13:53:24.083 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Invoker stopped
2018-09-23 13:53:24.085 INFO 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Invoker timed out while waiting for shutdown and will be canceled.
2018-09-23 13:53:24.085 INFO 6384 --- [ listener-1-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions revoked:[messages-1]
2018-09-23 13:53:24.085 INFO 6384 --- [ listener-1-C-1] o.a.k.c.c.internals.AbstractCoordinator : (Re-)joining group mris-group
2018-09-23 13:53:24.101 ERROR 6384 --- [ listener-1-L-1] o.s.kafka.listener.LoggingErrorHandler : Error while processing: ConsumerRecord(topic = messages, partition = 1, offset = 0, CreateTime = 1537725149052, checksum = 3567644394, serialized key size = 27, serialized value size = 1952, key = test_hotfix1#test.com, value = <removed>])
org.springframework.retry.backoff.BackOffInterruptedException: Thread interrupted while sleeping; nested exception is java.lang.InterruptedException: sleep interrupted
at org.springframework.retry.backoff.FixedBackOffPolicy.doBackOff(FixedBackOffPolicy.java:86) ~[spring-retry-1.2.0.RELEASE.jar:na]
at org.springframework.retry.backoff.StatelessBackOffPolicy.backOff(StatelessBackOffPolicy.java:36) ~[spring-retry-1.2.0.RELEASE.jar:na]
at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:305) ~[spring-retry-1.2.0.RELEASE.jar:na]
at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:179) ~[spring-retry-1.2.0.RELEASE.jar:na]
at org.springframework.kafka.listener.adapter.RetryingAcknowledgingMessageListenerAdapter.onMessage(RetryingAcknowledgingMessageListenerAdapter.java:73) ~[spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.adapter.RetryingAcknowledgingMessageListenerAdapter.onMessage(RetryingAcknowledgingMessageListenerAdapter.java:39) ~[spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.adapter.FilteringAcknowledgingMessageListenerAdapter.onMessage(FilteringAcknowledgingMessageListenerAdapter.java:55) ~[spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.adapter.FilteringAcknowledgingMessageListenerAdapter.onMessage(FilteringAcknowledgingMessageListenerAdapter.java:34) ~[spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:794) [spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:738) [spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.access$2200(KafkaMessageListenerContainer.java:245) [spring-kafka-1.2.2.RELEASE.jar:na]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer$ListenerInvoker.run(KafkaMessageListenerContainer.java:1031) [spring-kafka-1.2.2.RELEASE.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_162]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_162]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_162]
Caused by: java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method) [na:1.8.0_162]
at org.springframework.retry.backoff.ThreadWaitSleeper.sleep(ThreadWaitSleeper.java:30) ~[spring-retry-1.2.0.RELEASE.jar:na]
at org.springframework.retry.backoff.FixedBackOffPolicy.doBackOff(FixedBackOffPolicy.java:83) ~[spring-retry-1.2.0.RELEASE.jar:na]
... 14 common frames omitted
2018-09-23 13:53:24.101 INFO 6384 --- [ listener-1-C-1] o.a.k.c.c.internals.AbstractCoordinator : Successfully joined group mris-group with generation 10
2018-09-23 13:53:24.101 INFO 6384 --- [ listener-2-C-1] o.a.k.c.c.internals.AbstractCoordinator : Successfully joined group mris-group with generation 10
2018-09-23 13:53:24.102 INFO 6384 --- [ listener-0-C-1] o.a.k.c.c.internals.AbstractCoordinator : Successfully joined group mris-group with generation 10
2018-09-23 13:53:24.102 INFO 6384 --- [ listener-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [messages-0] for group mris-group
2018-09-23 13:53:24.102 INFO 6384 --- [ listener-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [messages-2] for group mris-group
2018-09-23 13:53:24.102 INFO 6384 --- [ listener-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [] for group mris-group
2018-09-23 13:53:24.103 DEBUG 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Committing: {}
2018-09-23 13:53:24.103 INFO 6384 --- [ listener-2-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[]
2018-09-23 13:53:24.103 DEBUG 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Committing: {messages-0=OffsetAndMetadata{offset=0, metadata=''}}
2018-09-23 13:53:24.104 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Committing: {messages-2=OffsetAndMetadata{offset=0, metadata=''}}
2018-09-23 13:53:24.106 INFO 6384 --- [ listener-0-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[messages-0]
2018-09-23 13:53:24.107 DEBUG 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.107 TRACE 6384 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.108 INFO 6384 --- [ listener-1-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[messages-2]
2018-09-23 13:53:24.108 DEBUG 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.108 TRACE 6384 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.207 DEBUG 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.207 TRACE 6384 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:25.111 TRACE 6384 --- [ listener-0-L-2] essageListenerContainer$ListenerConsumer : No records to process
Trace logs from worker2:
2018-09-23 13:53:24.102 INFO 6401 --- [ listener-2-C-1] o.a.k.c.c.internals.AbstractCoordinator : Successfully joined group mris-group with generation 10
2018-09-23 13:53:24.104 INFO 6401 --- [ listener-1-C-1] o.a.k.c.c.internals.AbstractCoordinator : Successfully joined group mris-group with generation 10
2018-09-23 13:53:24.105 INFO 6401 --- [ listener-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [] for group mris-group
2018-09-23 13:53:24.105 INFO 6401 --- [ listener-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [] for group mris-group
2018-09-23 13:53:24.105 DEBUG 6401 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Committing: {}
2018-09-23 13:53:24.105 DEBUG 6401 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Committing: {}
2018-09-23 13:53:24.105 INFO 6401 --- [ listener-2-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[]
2018-09-23 13:53:24.105 INFO 6401 --- [ listener-1-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[]
2018-09-23 13:53:24.106 INFO 6401 --- [ listener-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : Setting newly assigned partitions [messages-1] for group mris-group
2018-09-23 13:53:24.111 DEBUG 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Committing: {messages-1=OffsetAndMetadata{offset=0, metadata=''}}
2018-09-23 13:53:24.115 INFO 6401 --- [ listener-0-C-1] o.s.k.l.KafkaMessageListenerContainer : partitions assigned:[messages-1]
2018-09-23 13:53:24.118 DEBUG 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.118 TRACE 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.189 DEBUG 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received: 1 records
2018-09-23 13:53:24.189 TRACE 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.202 TRACE 6401 --- [ listener-0-L-1] essageListenerContainer$ListenerConsumer : Processing ConsumerRecord(topic = messages, partition = 1, offset = 0, CreateTime = 1537725149052, checksum = 3567644394, serialized key size = 27, serialized value size = 1952, key = test_hotfix1#test.com, value = <removed>)
2018-09-23 13:53:24.209 DEBUG 6401 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.209 DEBUG 6401 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:24.209 TRACE 6401 --- [ listener-1-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.210 TRACE 6401 --- [ listener-2-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
2018-09-23 13:53:24.216 DEBUG 6401 --- [ listener-0-L-1] .a.RecordMessagingMessageListenerAdapter : Processing [GenericMessage [payload=<removed>]
throwing exception
2018-09-23 13:53:25.194 DEBUG 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Received: 0 records
2018-09-23 13:53:25.194 TRACE 6401 --- [ listener-0-C-1] essageListenerContainer$ListenerConsumer : Polling (paused=false)...
Versions prior to 1.3 had a very complicated threading model to avoid rebalancing due to a slow listener. KIP-62 enabled us to use a much simpler threading model in 1.3 and later.
1.2.x is no longer supported, and I don't have the time (or inclination) to go back to figure out what happened. Please upgrade to 1.3.7 (or even better, 2.1.10).

What is the bug JettyEmbeddedWebAppContext about springboot?

When I use the command java -jar mypro-0.0.1-SNAPSHOT.jar --logging.level.root=TRACE ,the springboot failed ,but some computer could works,
the springboot version is 2.0.0.RELEASE,
<group>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
the log as followers:
2018-07-07 18:02:27.487 DEBUG 21534 --- [ main] o.e.j.u.DecoratedObjectFactory : Creating Instance: class org.eclipse.jetty.websocket.jsr356.encoders.LongEncoder
2018-07-07 18:02:27.487 DEBUG 21534 --- [ main] o.e.j.u.DecoratedObjectFactory : Creating Instance: class org.eclipse.jetty.websocket.jsr356.encoders.ShortEncoder
2018-07-07 18:02:27.487 DEBUG 21534 --- [ main] o.e.j.u.DecoratedObjectFactory : Creating Instance: class org.eclipse.jetty.websocket.jsr356.encoders.ByteBufferEncoder
2018-07-07 18:02:27.487 DEBUG 21534 --- [ main] o.e.j.u.DecoratedObjectFactory : Creating Instance: class org.eclipse.jetty.websocket.jsr356.encoders.ByteArrayEncoder
2018-07-07 18:02:27.487 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : starting org.springframework.boot.web.embedded.jetty.JettyEmbeddedErrorHandler#7d0b7e3c
2018-07-07 18:02:27.488 INFO 21534 --- [ main] o.e.j.s.h.ContextHandler : Started o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],AVAILABLE}
2018-07-07 18:02:27.488 DEBUG 21534 --- [ main] o.e.j.w.WebAppContext : postConfigure o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],AVAILABLE} with org.springframework.boot.web.embedded.jetty.ServletContextInitializerConfiguration#5824a83d
2018-07-07 18:02:27.488 DEBUG 21534 --- [ main] o.e.j.w.WebAppContext : postConfigure o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],AVAILABLE} with org.springframework.boot.autoconfigure.websocket.servlet.JettyWebSocketServletWebServerCustomizer$1#537f60bf
2018-07-07 18:02:27.488 DEBUG 21534 --- [ main] o.e.j.w.WebAppContext : postConfigure o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],AVAILABLE} with org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory$1#5677323c
2018-07-07 18:02:27.488 DEBUG 21534 --- [ main] o.e.j.w.WebAppContext : postConfigure o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],AVAILABLE} with org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory$2#18df8434
2018-07-07 18:02:27.488 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : starting org.eclipse.jetty.server.handler.ErrorHandler#a38c7fe
2018-07-07 18:02:27.489 INFO 21534 --- [ main] o.e.j.s.Server : Started #4487ms
2018-07-07 18:02:27.512 DEBUG 21534 --- [ main] o.e.j.s.Server : doStop org.eclipse.jetty.server.Server#2dc54ad4[9.4.8.v20171121]
2018-07-07 18:02:27.513 DEBUG 21534 --- [ main] o.e.j.s.Server : Graceful shutdown org.eclipse.jetty.server.Server#2dc54ad4[9.4.8.v20171121] by
2018-07-07 18:02:27.514 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.eclipse.jetty.server.Server#2dc54ad4[9.4.8.v20171121]
2018-07-07 18:02:27.514 INFO 21534 --- [ main] o.e.j.s.session : Stopped scavenging
2018-07-07 18:02:27.514 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.eclipse.jetty.server.handler.ErrorHandler#a38c7fe
2018-07-07 18:02:27.514 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],UNAVAILABLE}
2018-07-07 18:02:27.514 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.springframework.boot.web.embedded.jetty.JettyEmbeddedErrorHandler#7d0b7e3c
2018-07-07 18:02:27.515 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.eclipse.jetty.server.session.SessionHandler1420232606==dftMaxIdleSec=1800
2018-07-07 18:02:27.515 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.eclipse.jetty.security.ConstraintSecurityHandler#26e356f0
2018-07-07 18:02:27.515 DEBUG 21534 --- [ main] o.e.j.s.h.AbstractHandler : stopping org.springframework.boot.web.embedded.jetty.JettyEmbeddedWebAppContext$JettyEmbeddedServletHandler#4b8ee4de
2018-07-07 18:02:27.517 INFO 21534 --- [ main] o.e.j.s.h.ContextHandler : Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext#4310d43{/,[file:///tmp/jetty-docbase.8016560841686360205.13000/],UNAVAILABLE}
Something called Server.stop() which is performing a graceful stop of the server.
The logging line with ...
o.e.j.s.Server : doStop org.eclipse.jetty.server.Server#2dc54ad4[9.4.8.v20171121]
... is telling you this.
You can add a breakpoint within Server.doStop() (the code that handles the .stop() command from the LifeCycle) and see where that call came from.

The hibernate.properties file doesn't change the hibernate dialect

I have created a spring application with MySql db connected and I want the hibernate to create tables using Innodb engine but it always creates the table using MyISAM engine.
the application.properties file:
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/spring?autoReconnect=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=
The hibernate.properties file:
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.dialect.storage_engine=innodb
The console output:
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-12-18 13:54:19.460 INFO 9144 --- [ main] hello.Application : Starting Application on webc13 with PID 9144 (C:\spring\gs-rest-service\complete\build\classes\main started by Arielb in C:\spring\gs-rest-service\complete)
2017-12-18 13:54:19.465 INFO 9144 --- [ main] hello.Application : No active profile set, falling back to default profiles: default
2017-12-18 13:54:19.506 INFO 9144 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext#44a3ec6b: startup date [Mon Dec 18 13:54:19 IST 2017]; root of context hierarchy
2017-12-18 13:54:20.802 WARN 9144 --- [ main] o.h.v.m.ParameterMessageInterpolator : HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
2017-12-18 13:54:21.102 WARN 9144 --- [ main] o.h.v.m.ParameterMessageInterpolator : HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
2017-12-18 13:54:21.371 INFO 9144 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-12-18 13:54:21.380 INFO 9144 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2017-12-18 13:54:21.381 INFO 9144 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.14
2017-12-18 13:54:21.517 INFO 9144 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2017-12-18 13:54:21.518 INFO 9144 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2014 ms
2017-12-18 13:54:21.634 INFO 9144 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2017-12-18 13:54:21.638 INFO 9144 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-12-18 13:54:21.639 INFO 9144 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-12-18 13:54:21.639 INFO 9144 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-12-18 13:54:21.639 INFO 9144 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2017-12-18 13:54:22.051 INFO 9144 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2017-12-18 13:54:22.060 INFO 9144 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2017-12-18 13:54:22.114 INFO 9144 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5.0.12.Final}
2017-12-18 13:54:22.116 INFO 9144 --- [ main] org.hibernate.cfg.Environment : HHH000205: Loaded properties from resource hibernate.properties: {hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect, spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect, hibernate.bytecode.use_reflection_optimizer=false, hibernate.dialect.storage_engine=myisam}
2017-12-18 13:54:22.117 INFO 9144 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2017-12-18 13:54:22.151 INFO 9144 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2017-12-18 13:54:22.236 INFO 9144 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2017-12-18 13:54:22.527 INFO 9144 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000228: Running hbm2ddl schema update
2017-12-18 13:54:22.555 INFO 9144 --- [ main] rmationExtractorJdbcDatabaseMetaDataImpl : HHH000262: Table not found: logs
2017-12-18 13:54:22.555 INFO 9144 --- [ main] rmationExtractorJdbcDatabaseMetaDataImpl : HHH000262: Table not found: logs
2017-12-18 13:54:22.741 INFO 9144 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2017-12-18 13:54:23.178 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for #ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext#44a3ec6b: startup date [Mon Dec 18 13:54:19 IST 2017]; root of context hierarchy
2017-12-18 13:54:23.231 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dd/one/{id}],methods=[GET]}" onto public hello.Files hello.controller.InspectorController.getFile(java.lang.Integer)
2017-12-18 13:54:23.232 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dd/all],methods=[GET]}" onto public java.lang.Iterable<hello.Files> hello.controller.InspectorController.getAllUsers()
2017-12-18 13:54:23.232 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dd/insert],methods=[POST]}" onto public hello.Files hello.controller.InspectorController.saveFiles(java.lang.String,java.util.Date,java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest) throws javassist.tools.web.BadHttpRequest
2017-12-18 13:54:23.232 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/greeting]}" onto public hello.Greeting hello.GreetingController.greeting(java.lang.String)
2017-12-18 13:54:23.234 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-12-18 13:54:23.234 INFO 9144 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-12-18 13:54:23.259 INFO 9144 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-12-18 13:54:23.259 INFO 9144 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-12-18 13:54:23.287 INFO 9144 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-12-18 13:54:23.459 INFO 9144 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-12-18 13:54:23.504 INFO 9144 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-12-18 13:54:23.508 INFO 9144 --- [ main] hello.Application : Started Application in 4.291 seconds (JVM running for 4.77)
Any idea?
Edit
finally, the only way I managed to reach the desired engine was to set the my.conf file:
default-storage-engine=InnoDB
According to this post, the MySQL5InnoDBDialect has been deprecated, the class to use is MySQL5Dialect.
So you need to change the dialect :
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.dialect.storage_engine=innodb
If it doesn't work, try using the spring jpa properties :
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
change your hibernate.properties file to
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.dialect.storage_engine=innodb
and then try it. MySQL5InnoDBDialect is deprecated .
spring.jpa.database-platform: org.hibernate.dialect.MySQL57InnoDBDialect work for me, but MySQL57InnoDBDialect was marked as deprecated.
It suggested that using hibernate.dialect.storage_engine=innodb but it is not working for me.
So I keep MySQL57InnoDBDialect.

Resources