diff --git a/.gitignore b/.gitignore
index e88a023..e92d269 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ build/*/*/*
**/.gradle/
.vscode/
**/.vscode/
+rag/venv/*
# Serena
serena/
diff --git a/build/reports/problems/problems-report.html b/build/reports/problems/problems-report.html
index 06ca36a..c046c57 100644
--- a/build/reports/problems/problems-report.html
+++ b/build/reports/problems/problems-report.html
@@ -650,7 +650,7 @@ code + .copy-button {
diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log
new file mode 100644
index 0000000..9425c58
--- /dev/null
+++ b/meeting/logs/meeting-service.log
@@ -0,0 +1,10541 @@
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_03c1d8_1761662988084","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@5522f9b] for TypeConfiguration
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@e812d0e] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@5522f9b]
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 00:00:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_03c1d8_1761662988084","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 00:00:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_03c1d8_1761662988084","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 00:00:39 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 05:19:25 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 46251 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 05:19:25 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 05:19:25 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 05:19:25 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 05:19:25 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 05:19:25 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 67 ms. Found 8 JPA repository interfaces.
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:19:26 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces.
+2025-10-29 05:19:26 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 05:19:26 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 05:19:26 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 05:19:26 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 05:19:26 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1079 ms
+2025-10-29 05:19:26 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 05:19:26 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@48c3a0ef
+2025-10-29 05:19:26 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 05:19:26 [main] INFO org.flywaydb.core.FlywayExecutor - Database: jdbc:postgresql://4.230.48.72:5432/meetingdb (PostgreSQL 16.2)
+2025-10-29 05:19:26 [main] INFO o.f.core.internal.command.DbValidate - Successfully validated 5 migrations (execution time 00:00.040s)
+2025-10-29 05:19:27 [main] INFO o.f.core.internal.command.DbMigrate - Current version of schema "public": 4
+2025-10-29 05:19:27 [main] INFO o.f.core.internal.command.DbMigrate - Schema "public" is up to date. No migration necessary.
+2025-10-29 05:19:27 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 05:19:27 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 05:19:27 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@1c36ab22
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@1c36ab22
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@1c36ab22
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@68303c3e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@68303c3e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@2ec23ec3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@2ec23ec3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7c2e88b9
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7c2e88b9
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@556843a5
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@556843a5
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@556843a5
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3c5044fa
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3c5044fa
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3c5044fa
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@3db5195
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@3db5195
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@b386a17
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@1cda75be
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@1cda75be
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@2213854b
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@7b1d2f65
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@33bd9ac3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@33bd9ac3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@33bd9ac3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@7c857e8f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@7c857e8f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@7c857e8f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@42028589
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@42028589
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@42028589
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@50f6ecab
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@50f6ecab
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@50f6ecab
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@fc21ff4
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@fc21ff4
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@fc21ff4
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@58647985
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@58647985
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@e1c91cd
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@e1c91cd
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@69e8b711
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@69e8b711
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@69e8b711
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@764a3867
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@d99df7a
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@d99df7a
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@67e1a5fd
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@4b9dc62f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@4b9dc62f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@4b9dc62f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@6cb3463b
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@2f9236d8
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@4536a09a
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@603faaad
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@603faaad
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@16cbba0f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@16cbba0f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@28d16af8
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@58932d08
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@45648e75
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@e344f14
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@2d117280
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@6c2be147
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@dddcd91
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@dddcd91
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@21bd6fd1
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@21bd6fd1
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@79e9c14
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@79e9c14
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@340c7479
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@340c7479
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@575e862c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@575e862c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1d57b8f1
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6e5af973
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@39a2e77d
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@39a2e77d
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1aee6983
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3adeca1f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@3f62d56
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@2d41bb5a
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@2d41bb5a
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@448a6d00
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@848d9bc
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@3a66d97e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3a66d97e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@1add3e03
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@1add3e03
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@d28a235
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@d28a235
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@d28a235
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@43e30f15
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@43e30f15
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@43e30f15
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@4fc2933e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@3c9c91e3
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@746da54f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@746da54f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2f2d8770
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2f2d8770
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2f2d8770
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@742dbac8
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@2ce62e27
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@3538a129
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@3538a129
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@766db6f9
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@766db6f9
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@766db6f9
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@6f8fb906
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@6f8fb906
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@728535c6
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@728535c6
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@244f356
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@244f356
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@19855799
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@19855799
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@bd09a26
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@bd09a26
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@5020b59f
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@75db328e
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3d99d327
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3d99d327
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@3a359f7c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@138b9abe
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@23ffc910
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@35277c6c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@7a364e1c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@29a50a11
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@74cff17c
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@7a053795
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@328bc067
+2025-10-29 05:19:27 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 05:19:27 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 05:19:27 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@67d55a46) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@72115c48)
+2025-10-29 05:19:27 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@1d982fbe) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3adb4cc8)
+2025-10-29 05:19:27 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 05:19:27 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@6464f017
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@6464f017
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3d99d327`
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:19:27 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:19:27 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1adec8d] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@6eb332d1]
+2025-10-29 05:19:27 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 05:19:27 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@1adec8d] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@70bbc163]
+2025-10-29 05:19:27 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@70bbc163] for TypeConfiguration
+2025-10-29 05:19:27 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 05:19:28 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 05:19:28 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 05:19:28 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_5063e1_1761682768672"}
+2025-10-29 05:19:28 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:19:28 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 05:19:28 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 4d45b823-293f-4e1d-a53e-97b69aab3981
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 05:19:28 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 05:19:28 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 05:19:29 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 05:19:29 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 05:19:29 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 05:19:29 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 05:19:29 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.379 seconds (process running for 4.549)
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/reserve
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/reserve
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 호출 - 파라미터: [user-005, dohyunjung, dohyun.jung@example.com, com.unicorn.hgzero.meeting.infra.dto.request.CreateMeetingRequest@43513970]
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 요청 - userId: user-005, title: test 회의
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Creating meeting: test 회의
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ COUNT(m)
+ FROM
+ MeetingEntity m
+ WHERE
+ m.organizerId = :organizerId
+ AND m.status IN ('SCHEDULED', 'IN_PROGRESS')
+ AND (
+ (
+ m.scheduledAt < :endTime
+ AND m.endTime > :startTime
+ )
+ ) */ select
+ count(me1_0.meeting_id)
+ from
+ meetings me1_0
+ where
+ me1_0.organizer_id=?
+ and me1_0.status in ('SCHEDULED', 'IN_PROGRESS')
+ and (
+ (
+ me1_0.scheduled_at
+ and me1_0.end_time>?
+ )
+ )
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at,
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meetings me1_0
+ left join
+ meeting_participants p1_0
+ on me1_0.meeting_id=p1_0.meeting_id
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */insert
+ into
+ meetings (created_at, description, end_time, ended_at, location, organizer_id, purpose, scheduled_at, started_at, status, template_id, title, updated_at, meeting_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.user_id,
+ mpe1_0.meeting_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.user_id,
+ mpe1_0.meeting_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participants saved: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, count=2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Participants saved: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, count=2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 실패 (서비스는 정상 동작) - meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, 에러: Error in execution
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cached: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_5063e1_1761682768672","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_5063e1_1761682768672"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_5063e1_1761682768672","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_5063e1_1761682768672"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_5063e1_1761682768672","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_5063e1_1761682768672","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_5063e1_1761682768672","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"1f5fb5ec1d874531be80a6955cc37ba9_G27"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_5063e1_1761682768672","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_5063e1_1761682768672"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_5063e1_1761682768672","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_5063e1_1761682768672","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_5063e1_1761682768672","entityPath":"$cbs"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_5063e1_1761682768672","entityPath":"$cbs","subscriberId":"un_86c6b5_1761682787716"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_5063e1_1761682768672","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_5063e1_1761682768672","entityPath":"$cbs"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_5063e1_1761682768672","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_5063e1_1761682768672","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 05:19:47 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_5063e1_1761682768672","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du0928@gmail.com
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=daewoong.jeon@kt.com
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 회의 생성 알림 발행 완료 - meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, participants count: 2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting invitation events published: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, participants=2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Meeting created successfully: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 05:19:47 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 완료 - userId: user-005, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:19:47 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 완료 - 실행시간: 700ms
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/752c5d70-6e7d-47a0-9cab-d7d9240dc5a2/start
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/752c5d70-6e7d-47a0-9cab-d7d9240dc5a2/start
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, user-005, dohyunjung, dohyun.jung@example.com]
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, userId: user-005
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 실패 (서비스는 정상 동작) - meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, 에러: Error in execution
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ se1_0.session_id,
+ se1_0.created_at,
+ se1_0.ended_at,
+ se1_0.meeting_id,
+ se1_0.minutes_id,
+ se1_0.started_at,
+ se1_0.started_by,
+ se1_0.status,
+ se1_0.updated_at
+ from
+ sessions se1_0
+ where
+ se1_0.session_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=ebccc05a-4be8-40cb-9330-49114ebc7205, meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] WARN c.u.h.m.infra.cache.CacheService - 캐시 삭제 실패 - key: meeting:752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, 에러: Error in execution
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version,
+ s1_0.minutes_id,
+ s1_0.section_id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes me1_0
+ left join
+ minutes_sections s1_0
+ on me1_0.minutes_id=s1_0.minutes_id
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, sessionId=ebccc05a-4be8-40cb-9330-49114ebc7205
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, sessionId=ebccc05a-4be8-40cb-9330-49114ebc7205, minutesId=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert
+ into
+ sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert
+ into
+ minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings
+ set
+ description=?,
+ end_time=?,
+ ended_at=?,
+ location=?,
+ organizer_id=?,
+ purpose=?,
+ scheduled_at=?,
+ started_at=?,
+ status=?,
+ template_id=?,
+ title=?,
+ updated_at=?
+ where
+ meeting_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions
+ set
+ ended_at=?,
+ meeting_id=?,
+ minutes_id=?,
+ started_at=?,
+ started_by=?,
+ status=?,
+ updated_at=?
+ where
+ session_id=?
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2, sessionId: ebccc05a-4be8-40cb-9330-49114ebc7205
+2025-10-29 05:21:12 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 171ms
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.section_id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.TodoService - Getting todos by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:23:44 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 266ms
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@48c3a0ef (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@5a31abe9 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@20953907 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@64b1dad8 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1736aa37 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.section_id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 3
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.TodoService - Getting todos by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:28:32 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:28:32 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 285ms
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:31:59 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 05:31:59 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:31:59 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:31:59 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.section_id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:31:59 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 4
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.TodoService - Getting todos by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:31:59 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:32:00 [http-nio-8082-exec-4] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:32:00 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:32:00 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 261ms
+2025-10-29 05:37:46 [parallel-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_5063e1_1761682768672","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 05:39:11 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_5063e1_1761682768672","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 05:39:11 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_5063e1_1761682768672","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@70bbc163] for TypeConfiguration
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@7039d21b] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@70bbc163]
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 05:39:11 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 05:39:15 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 53458 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 05:39:15 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 05:39:15 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 05:39:15 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'objectMapper' defined in class path resource [com/unicorn/hgzero/meeting/infra/config/JacksonConfig.class]: Cannot register bean definition [Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=true; factoryBeanName=jacksonConfig; factoryMethodName=objectMapper; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [com/unicorn/hgzero/meeting/infra/config/JacksonConfig.class]] for bean 'objectMapper' since there is already [Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=cacheConfig; factoryMethodName=objectMapper; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [com/unicorn/hgzero/meeting/infra/cache/CacheConfig.class]] bound.
+2025-10-29 05:39:15 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger -
+
+Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
+2025-10-29 05:39:15 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -
+
+***************************
+APPLICATION FAILED TO START
+***************************
+
+Description:
+
+The bean 'objectMapper', defined in class path resource [com/unicorn/hgzero/meeting/infra/config/JacksonConfig.class], could not be registered. A bean with that name has already been defined in class path resource [com/unicorn/hgzero/meeting/infra/cache/CacheConfig.class] and overriding is disabled.
+
+Action:
+
+Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
+
+2025-10-29 05:41:54 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 54482 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 05:41:54 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 05:41:54 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces.
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 05:41:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces.
+2025-10-29 05:41:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 05:41:55 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 05:41:55 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 05:41:55 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 05:41:55 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1053 ms
+2025-10-29 05:41:56 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 05:41:56 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@50ef2906
+2025-10-29 05:41:56 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 05:41:56 [main] INFO org.flywaydb.core.FlywayExecutor - Database: jdbc:postgresql://4.230.48.72:5432/meetingdb (PostgreSQL 16.2)
+2025-10-29 05:41:56 [main] INFO o.f.core.internal.command.DbValidate - Successfully validated 5 migrations (execution time 00:00.041s)
+2025-10-29 05:41:56 [main] INFO o.f.core.internal.command.DbMigrate - Current version of schema "public": 4
+2025-10-29 05:41:56 [main] INFO o.f.core.internal.command.DbMigrate - Schema "public" is up to date. No migration necessary.
+2025-10-29 05:41:56 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 05:41:56 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 05:41:56 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@2ce62e27
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@2ce62e27
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@2ce62e27
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3538a129
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3538a129
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@766db6f9
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@766db6f9
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@6f8fb906
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@6f8fb906
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@728535c6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@728535c6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@728535c6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@244f356
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@244f356
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@244f356
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@19855799
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@19855799
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@bd09a26
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@5020b59f
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@5020b59f
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@75db328e
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@46d18a33
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@495f3965
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@495f3965
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@495f3965
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@1c06f19c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@1c06f19c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@1c06f19c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3065efd0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3065efd0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@3065efd0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@7aaf6bfd
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@7aaf6bfd
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@7aaf6bfd
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4a8bf1dc
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@4a8bf1dc
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@4a8bf1dc
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@61aa6300
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@61aa6300
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@7e2e0b8a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@7e2e0b8a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7f5f7731
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7f5f7731
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7f5f7731
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6a4f7c17
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@584fb03d
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@584fb03d
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@563392e5
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@43efe064
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@66046e7c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@2c6a6ce3
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@726a5e6a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@726a5e6a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@4e3a6c83
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@4e3a6c83
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@b889cb6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@74faf450
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@54c37dab
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@49005dc4
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@6a2057e
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@25d9298e
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@6ab826bb
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@6ab826bb
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@219db855
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@219db855
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3702d0ed
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3702d0ed
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@5b7b0ada
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@5b7b0ada
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@705d72f0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@705d72f0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3c4e23be
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@1d6a0962
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@1ec4fdcf
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@1ec4fdcf
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@515d615
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@488b46da
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5e777b0
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@3c74d846
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@3c74d846
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@17fa14a3
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5552d10
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@3b3190fd
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@3b3190fd
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@219dd935
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@219dd935
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@66859ea9
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@66859ea9
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@66859ea9
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@4a9412c4
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@4a9412c4
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@4a9412c4
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@7d15c513
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@320efff5
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@78b44fcb
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@78b44fcb
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@12dc702b
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@12dc702b
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@12dc702b
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@41b2123e
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@486bcaa
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@5e9671e6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@5e9671e6
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@2f3a0f37
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@2f3a0f37
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@2f3a0f37
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@7ec8db0c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@7ec8db0c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@4f1a5b93
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@4f1a5b93
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@22ee1ad7
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@22ee1ad7
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@5dd2ea0a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@5dd2ea0a
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@65fa4a07
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@65fa4a07
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@782143e8
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@2a4bd699
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@17063c32
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@17063c32
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@104cf647
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@7488c183
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@37196d53
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@40105b39
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@72a61e61
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@282aea3c
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@54a5799f
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@162e29a1
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@54b96813
+2025-10-29 05:41:56 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 05:41:56 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 05:41:56 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6cac0334) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6329a5b9)
+2025-10-29 05:41:56 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@6c92a59d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@4505015b)
+2025-10-29 05:41:56 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 05:41:56 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@16c1345b
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@16c1345b
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@17063c32`
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:41:56 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 05:41:56 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4f6a5cc9] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@5d24703e]
+2025-10-29 05:41:57 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 05:41:57 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@4f6a5cc9] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@2e3c5ecc]
+2025-10-29 05:41:57 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@2e3c5ecc] for TypeConfiguration
+2025-10-29 05:41:57 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 05:41:57 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 05:41:57 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 05:41:57 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 05:41:58 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_809e22_1761684118034"}
+2025-10-29 05:41:58 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:41:58 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 05:41:58 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: b3d3d63d-3017-4877-88cb-0fe05b62ac33
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 05:41:58 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 05:41:58 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 05:41:58 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 05:41:58 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 05:41:58 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 05:41:58 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 05:41:58 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.318 seconds (process running for 4.484)
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.section_id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 5
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.section_id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.TodoService - Getting todos by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:15 [http-nio-8082-exec-2] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_809e22_1761684118034","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 05:42:15 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_809e22_1761684118034"}
+2025-10-29 05:42:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_809e22_1761684118034","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 05:42:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_809e22_1761684118034"}
+2025-10-29 05:42:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_809e22_1761684118034","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 05:42:15 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_809e22_1761684118034","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_809e22_1761684118034","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"cf5d7ef5513b497b9b720ac2c9a161bf_G20"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_809e22_1761684118034","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_809e22_1761684118034"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_809e22_1761684118034","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_809e22_1761684118034","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_809e22_1761684118034","entityPath":"$cbs"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_809e22_1761684118034","entityPath":"$cbs","subscriberId":"un_a3b9d6_1761684136085"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_809e22_1761684118034","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_809e22_1761684118034","entityPath":"$cbs"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_809e22_1761684118034","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_809e22_1761684118034","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 05:42:16 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_809e22_1761684118034","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:16 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:42:16 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 05:42:16 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 804ms
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_809e22_1761684118034","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 05:45:13 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_809e22_1761684118034","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@2e3c5ecc] for TypeConfiguration
+2025-10-29 05:45:13 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_809e22_1761684118034","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@35c09038] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@2e3c5ecc]
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 05:45:13 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 10:08:22 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 40456 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting)
+2025-10-29 10:08:22 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 10:08:22 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 92 ms. Found 9 JPA repository interfaces.
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 10:08:23 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 0 Redis repository interfaces.
+2025-10-29 10:08:24 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 10:08:24 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 10:08:24 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 10:08:24 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 10:08:24 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1460 ms
+2025-10-29 10:08:24 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 10:08:24 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@5d94ac8a
+2025-10-29 10:08:24 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 10:08:24 [main] INFO org.flywaydb.core.FlywayExecutor - Database: jdbc:postgresql://4.230.48.72:5432/meetingdb (PostgreSQL 16.2)
+2025-10-29 10:08:25 [main] INFO o.f.core.internal.command.DbValidate - Successfully validated 5 migrations (execution time 00:00.387s)
+2025-10-29 10:08:25 [main] INFO o.f.core.internal.command.DbMigrate - Current version of schema "public": 4
+2025-10-29 10:08:25 [main] INFO o.f.core.internal.command.DbMigrate - Schema "public" is up to date. No migration necessary.
+2025-10-29 10:08:25 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 10:08:25 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 10:08:25 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@52d181ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@43efe064
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@43efe064
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@66046e7c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@66046e7c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@2c6a6ce3
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@2c6a6ce3
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@726a5e6a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@726a5e6a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@726a5e6a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@4e3a6c83
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@4e3a6c83
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@4e3a6c83
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@b889cb6
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@b889cb6
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@74faf450
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@54c37dab
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@54c37dab
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@49005dc4
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@6a2057e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@25d9298e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@25d9298e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@25d9298e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@6ab826bb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@6ab826bb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@6ab826bb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@219db855
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@219db855
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@219db855
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3702d0ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3702d0ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@3702d0ed
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5b7b0ada
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5b7b0ada
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@5b7b0ada
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@705d72f0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@705d72f0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@3c4e23be
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@3c4e23be
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@1d6a0962
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@1d6a0962
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@1d6a0962
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@1ec4fdcf
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@515d615
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@515d615
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@488b46da
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@5e777b0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@5e777b0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@5e777b0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@3c74d846
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@17fa14a3
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@5552d10
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@3b3190fd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@3b3190fd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@219dd935
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@219dd935
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@66859ea9
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@4a9412c4
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@7d15c513
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@320efff5
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@78b44fcb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@12dc702b
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@41b2123e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@41b2123e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@486bcaa
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@486bcaa
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@5e9671e6
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@5e9671e6
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@2f3a0f37
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@2f3a0f37
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7ec8db0c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7ec8db0c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4f1a5b93
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@22ee1ad7
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@5dd2ea0a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@5dd2ea0a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@65fa4a07
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@782143e8
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2a4bd699
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6003eb60
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6003eb60
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@571e2f15
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2552181d
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@51d9fd30
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@51d9fd30
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@2e7e4480
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@2e7e4480
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@8beb0dd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@8beb0dd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@8beb0dd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@3d99d327
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@3d99d327
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@3d99d327
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@233789d9
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@7f31937b
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@2f4fc18
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@2f4fc18
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@7187078a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@7187078a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@7187078a
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6e612122
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@1d38cdde
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@3809f65d
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@3809f65d
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@717b0d81
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@717b0d81
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@717b0d81
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@16745abd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@16745abd
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@4d793390
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@4d793390
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@3a359f7c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@3a359f7c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@138b9abe
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@138b9abe
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@279e8bc0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@279e8bc0
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@23ffc910
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@35277c6c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@542beecb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@542beecb
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@6987b74e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@22e95960
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@206b959c
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@74026b18
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@1cc81ea1
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@5cf1bbd3
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@204a02a4
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@4777f71e
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@1b96d447
+2025-10-29 10:08:26 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 10:08:26 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3e371088) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@8942ece)
+2025-10-29 10:08:26 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3a89226e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@15254569)
+2025-10-29 10:08:26 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 10:08:26 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@1952ad9d
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@1952ad9d
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@542beecb`
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 10:08:26 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 10:08:26 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@60658389] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@3ec98000]
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 10:08:26 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 10:08:26 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@60658389] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@2c9616bb]
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 10:08:26 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 10:08:26 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@2c9616bb] for TypeConfiguration
+2025-10-29 10:08:26 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 10:08:27 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 10:08:27 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 10:08:27 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 10:08:27 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_8d75a7_1761700107769"}
+2025-10-29 10:08:27 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 10:08:28 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 10:08:28 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 5190f26a-375b-4c63-a5b7-e074f5da1de5
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 10:08:28 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 10:08:28 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 10:08:28 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 10:08:28 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 10:08:28 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 10:08:28 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 10:08:28 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 6.511 seconds (process running for 6.838)
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 11 ms
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/meeting-inprogress-1/start
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: user-001 (user-001)
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/meeting-inprogress-1/start
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [meeting-inprogress-1, user-001, user-001, user-001]
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: meeting-inprogress-1, userId: user-001
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 실패 (서비스는 정상 동작) - meetingId: meeting-inprogress-1, 에러: Error in execution
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ se1_0.session_id,
+ se1_0.created_at,
+ se1_0.ended_at,
+ se1_0.meeting_id,
+ se1_0.minutes_id,
+ se1_0.started_at,
+ se1_0.started_by,
+ se1_0.status,
+ se1_0.updated_at
+ from
+ sessions se1_0
+ where
+ se1_0.session_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=a4da7b91-0262-4559-8415-94723f602aeb, meetingId=meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] WARN c.u.h.m.infra.cache.CacheService - 캐시 삭제 실패 - key: meeting:meeting-inprogress-1, 에러: Error in execution
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version,
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes me1_0
+ left join
+ minutes_sections s1_0
+ on me1_0.minutes_id=s1_0.minutes_id
+ where
+ me1_0.minutes_id=?
+2025-10-29 10:08:38 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=ff2ec992-b55c-4470-b6dd-8c1355e32b4c, meetingId=meeting-inprogress-1
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_8d75a7_1761700107769","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 10:08:38 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_8d75a7_1761700107769"}
+2025-10-29 10:08:38 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_8d75a7_1761700107769","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 10:08:38 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_8d75a7_1761700107769"}
+2025-10-29 10:08:38 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_8d75a7_1761700107769","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 10:08:38 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_8d75a7_1761700107769","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_8d75a7_1761700107769","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"57e8a42d67c54b00a22b5b1df5737fc1_G6"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_8d75a7_1761700107769","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_8d75a7_1761700107769"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_8d75a7_1761700107769","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_8d75a7_1761700107769","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_8d75a7_1761700107769","entityPath":"$cbs"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_8d75a7_1761700107769","entityPath":"$cbs","subscriberId":"un_530acf_1761700119391"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_8d75a7_1761700107769","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_8d75a7_1761700107769","entityPath":"$cbs"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_8d75a7_1761700107769","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_8d75a7_1761700107769","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 10:08:39 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_8d75a7_1761700107769","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 10:08:39 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=meeting-inprogress-1
+2025-10-29 10:08:39 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=meeting-inprogress-1, sessionId=a4da7b91-0262-4559-8415-94723f602aeb
+2025-10-29 10:08:39 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=meeting-inprogress-1, sessionId=a4da7b91-0262-4559-8415-94723f602aeb, minutesId=ff2ec992-b55c-4470-b6dd-8c1355e32b4c
+2025-10-29 10:08:39 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert
+ into
+ sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 10:08:39 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert
+ into
+ minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 10:08:39 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings
+ set
+ description=?,
+ end_time=?,
+ ended_at=?,
+ location=?,
+ organizer_id=?,
+ purpose=?,
+ scheduled_at=?,
+ started_at=?,
+ status=?,
+ template_id=?,
+ title=?,
+ updated_at=?
+ where
+ meeting_id=?
+2025-10-29 10:08:39 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions
+ set
+ ended_at=?,
+ meeting_id=?,
+ minutes_id=?,
+ started_at=?,
+ started_by=?,
+ status=?,
+ updated_at=?
+ where
+ session_id=?
+2025-10-29 10:08:39 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: meeting-inprogress-1, sessionId: a4da7b91-0262-4559-8415-94723f602aeb
+2025-10-29 10:08:39 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 1464ms
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_8d75a7_1761700107769","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@2c9616bb] for TypeConfiguration
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@7f0ee032] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@2c9616bb]
+2025-10-29 10:08:50 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_8d75a7_1761700107769","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 10:08:50 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_8d75a7_1761700107769","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 10:08:50 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 10:08:51 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 12:19:45 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 75463 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 12:19:45 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 12:19:45 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 12:19:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 12:19:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 12:19:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 75 ms. Found 9 JPA repository interfaces.
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 12:19:46 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces.
+2025-10-29 12:19:46 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 12:19:46 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 12:19:46 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 12:19:46 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 12:19:46 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1044 ms
+2025-10-29 12:19:46 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 12:19:46 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 12:19:46 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@582ea164
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@3ac406d4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@72646d16
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@2f39b534
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@60fbc34d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7736c41e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3de383f7
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4ca4f762
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@7ebfe01a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@154b0748
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@35c00c
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6cd7dc74
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6cd7dc74
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6d695ec4
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@20556566
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@9746157
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@10ad95cd
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@180cc0df
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@64f33dee
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@14c5283
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@14c5283
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@1eb7ec59
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@46748b04
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@64d53f0d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@64d53f0d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@69419d59
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@7affee54
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@2337bf27
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@4679554d
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@43719e98
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@49353d43
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@57e57dc5
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@5bba9949
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@147059f8
+2025-10-29 12:19:46 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 12:19:46 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 12:19:46 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 12:19:46 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@42028589) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@50f6ecab)
+2025-10-29 12:19:46 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@fc21ff4) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@58647985)
+2025-10-29 12:19:46 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 12:19:46 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@488b46da
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@488b46da
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@64d53f0d`
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 12:19:46 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 12:19:46 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@104cf647] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@7488c183]
+2025-10-29 12:19:47 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 12:19:47 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 12:19:47 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 12:19:47 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@104cf647] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@3fae1ec9]
+2025-10-29 12:19:47 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 12:19:47 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 12:19:47 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@3fae1ec9] for TypeConfiguration
+2025-10-29 12:19:47 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 12:19:47 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 12:19:48 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 12:19:48 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_2d1e1b_1761707988244"}
+2025-10-29 12:19:48 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 12:19:48 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 12:19:48 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 9e1a0807-54ab-4e1b-900e-b08d390a5da0
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 12:19:48 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 12:19:48 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 12:19:48 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 12:19:48 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 12:19:48 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 12:19:49 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 12:19:49 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 3.9 seconds (process running for 4.053)
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms
+2025-10-29 12:20:09 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:20:09 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:20:09 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@31b94409
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:09 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:20:10 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 6
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:10 [http-nio-8082-exec-1] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:10 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:20:11 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:11 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:20:11 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_2d1e1b_1761707988244","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 12:20:11 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_2d1e1b_1761707988244"}
+2025-10-29 12:20:11 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_2d1e1b_1761707988244","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 12:20:11 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_2d1e1b_1761707988244"}
+2025-10-29 12:20:11 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_2d1e1b_1761707988244","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 12:20:11 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_2d1e1b_1761707988244","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"c8b77acbeda743169facbf726495551f_G13"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_2d1e1b_1761707988244"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_2d1e1b_1761707988244","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_2d1e1b_1761707988244","entityPath":"$cbs"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_2d1e1b_1761707988244","entityPath":"$cbs","subscriberId":"un_8fab97_1761708012357"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_2d1e1b_1761707988244","entityPath":"$cbs"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_2d1e1b_1761707988244","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 12:20:12 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_2d1e1b_1761707988244","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:12 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:12 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:20:12 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 3199ms
+2025-10-29 12:21:27 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:21:27 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:21:27 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:21:27 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:21:27 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:27 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:27 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:21:27 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:21:27 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:21:28 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 7
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:21:28 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:21:28 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:29 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:21:29 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1687ms
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:22:55 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:22:55 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:55 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:55 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:22:55 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 8
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:55 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:22:56 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1642ms
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:26:04 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:26:04 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:04 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:04 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:26:04 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 9
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:04 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:26:05 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:05 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:26:06 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:06 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:06 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:26:06 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:26:06 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1654ms
+2025-10-29 12:30:51 [lettuce-nioEventLoop-6-1] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 12:30:51 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 12:30:51 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 12:35:09 [lettuce-nioEventLoop-6-2] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 12:35:09 [lettuce-eventExecutorLoop-1-3] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 12:35:09 [lettuce-nioEventLoop-6-3] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 12:35:51 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:35:51 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:35:51 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:35:51 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:35:51 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:51 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@31b94409 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:35:51 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@49bc2c41 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:35:51 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@697bf886 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:35:51 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@f4dddf0 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:35:51 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@40fcc11 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:35:52 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:52 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:35:52 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 10
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:52 [http-nio-8082-exec-4] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:52 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:53 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:35:53 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1838ms
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:36:22 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:36:22 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:22 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:22 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:36:22 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 11
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:22 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:36:23 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1335ms
+2025-10-29 12:38:11 [parallel-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 12:40:46 [lettuce-nioEventLoop-6-3] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 12:40:46 [lettuce-eventExecutorLoop-1-4] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 12:40:47 [lettuce-nioEventLoop-6-4] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 12:56:10 [parallel-6] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 12:58:36 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 12:58:36 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:36 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1af05434 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:58:36 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@397cc819 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:58:36 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@59443f06 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:58:36 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@46ba3c (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:58:36 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@3699b5b4 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 12:58:36 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:36 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:58:36 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 12
+2025-10-29 12:58:36 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [http-nio-8082-exec-7] WARN c.u.h.m.infra.cache.CacheService - AI 분석 결과 캐시 조회 실패 (새로 생성) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Redis exception
+2025-10-29 12:58:37 [http-nio-8082-exec-7] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Redis exception
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:37 [http-nio-8082-exec-7] WARN c.u.h.m.infra.cache.CacheService - 패턴 캐시 삭제 실패 - pattern: minutes:list:*user-005*, 에러: Redis exception
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 12:58:37 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:37 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 12:58:37 [lettuce-eventExecutorLoop-1-5] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 12:58:38 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:38 [http-nio-8082-exec-7] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:38 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 12:58:38 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 12:58:38 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1685ms
+2025-10-29 12:58:38 [lettuce-nioEventLoop-6-5] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_2d1e1b_1761707988244","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@3fae1ec9] for TypeConfiguration
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@5554dd39] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@3fae1ec9]
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 12:59:59 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 13:04:42 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 92282 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 13:04:42 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 13:04:42 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 69 ms. Found 9 JPA repository interfaces.
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:04:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 0 Redis repository interfaces.
+2025-10-29 13:04:43 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 13:04:43 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 13:04:43 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 13:04:43 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 13:04:43 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1066 ms
+2025-10-29 13:04:43 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 13:04:43 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 13:04:43 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@53c40ed6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@53c40ed6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@53c40ed6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3a6b94b6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3a6b94b6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@22ee7fdc
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@22ee7fdc
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@1a88d194
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@1a88d194
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@6949cead
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@6949cead
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@6949cead
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@fe13916
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@fe13916
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@fe13916
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@5ea0a7a9
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@5ea0a7a9
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@278c998
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@25e353dc
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@25e353dc
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@234ce7ff
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@780a91d0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3cfab340
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3cfab340
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@3cfab340
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3387ab0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3387ab0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3387ab0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4203529f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4203529f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@7d82ca56
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@7d82ca56
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@2aaa89c2
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@2aaa89c2
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@2aaa89c2
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@5a58db42
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@217fd3c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@217fd3c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@69ac5752
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@1736273c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@1736273c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@1736273c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@ba86c53
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@36eb8e07
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@3df6494f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@1b5f960a
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@1b5f960a
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@53ddabc6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@53ddabc6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@39ac8c0c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@361f1647
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@51172948
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@6f2a3b37
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@323b0632
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@7cd8831c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@146db8a6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@146db8a6
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@1e9d721
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@1e9d721
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@2d3111a1
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6f2864c3
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@50ef2906
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@50ef2906
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1f70bce5
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@16cb6f51
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@25c8c71e
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@57867d96
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@1a7a21d0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@1a7a21d0
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@4790b897
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3205610d
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3205610d
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1835b783
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@456b140f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@1e6bd367
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@2bd7f686
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@3601549f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@5b2c7186
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@1b9c716f
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@f6bc75c
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@33f2cf82
+2025-10-29 13:04:43 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 13:04:43 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 13:04:43 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 13:04:43 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@33563147) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@33239d72)
+2025-10-29 13:04:43 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@19c24321) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@ba27ce6)
+2025-10-29 13:04:43 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 13:04:43 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@448a6d00
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@448a6d00
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3205610d`
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:04:43 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:04:43 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@23ffc910] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@35277c6c]
+2025-10-29 13:04:43 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:04:43 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:04:44 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 13:04:44 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@23ffc910] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@32ae890]
+2025-10-29 13:04:44 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:04:44 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:04:44 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@32ae890] for TypeConfiguration
+2025-10-29 13:04:44 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 13:04:44 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 13:04:44 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 13:04:44 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 13:04:44 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_1651b7_1761710684890"}
+2025-10-29 13:04:44 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 13:04:45 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 13:04:45 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 15d67fea-ad0a-4f00-b8f9-ef1498a1f619
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 13:04:45 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 13:04:45 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 13:04:45 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 13:04:45 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 13:04:45 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 13:04:45 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 13:04:45 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 3.807 seconds (process running for 3.975)
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@3654af2b
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:04 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:04 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:05:05 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 13
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 13:05:05 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:05 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:06 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:06 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:06 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 13:05:06 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_1651b7_1761710684890","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 13:05:06 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_1651b7_1761710684890"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_1651b7_1761710684890","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_1651b7_1761710684890"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_1651b7_1761710684890","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_1651b7_1761710684890","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_1651b7_1761710684890","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"4da57c9778884b9d9360ea1f88afaa3f_G24"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1651b7_1761710684890","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_1651b7_1761710684890"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1651b7_1761710684890","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_1651b7_1761710684890","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_1651b7_1761710684890","entityPath":"$cbs"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_1651b7_1761710684890","entityPath":"$cbs","subscriberId":"un_7c5a03_1761710706707"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1651b7_1761710684890","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_1651b7_1761710684890","entityPath":"$cbs"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1651b7_1761710684890","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_1651b7_1761710684890","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 13:05:06 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1651b7_1761710684890","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:05:06 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:06 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:06 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:05:07 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:07 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:07 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:05:07 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:05:07 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 2771ms
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_1651b7_1761710684890","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@32ae890] for TypeConfiguration
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@793c22c9] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@32ae890]
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 13:10:37 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 13:35:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 6035 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 13:35:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 13:35:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 13:35:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:35:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 9 JPA repository interfaces.
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:35:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 0 Redis repository interfaces.
+2025-10-29 13:35:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 13:35:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 13:35:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 13:35:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 13:35:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1030 ms
+2025-10-29 13:35:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 13:35:32 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 13:35:32 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@582ea164
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@582ea164
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@3ac406d4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@72646d16
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@2f39b534
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@60fbc34d
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@7736c41e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@3de383f7
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@3de383f7
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@4ca4f762
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7ebfe01a
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@154b0748
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@35c00c
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@35c00c
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6cd7dc74
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6d695ec4
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@20556566
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@20556566
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@9746157
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@10ad95cd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@10ad95cd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@180cc0df
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@64f33dee
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@64f33dee
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@14c5283
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@1eb7ec59
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@1344f7fe
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@1344f7fe
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@5c0ece6d
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@69419d59
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@96075c0
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@2337bf27
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@4679554d
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@43719e98
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@49353d43
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@57e57dc5
+2025-10-29 13:35:32 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@5bba9949
+2025-10-29 13:35:32 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 13:35:32 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 13:35:33 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 13:35:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7c857e8f) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@42028589)
+2025-10-29 13:35:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@50f6ecab) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@fc21ff4)
+2025-10-29 13:35:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 13:35:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@515d615
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@515d615
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@1344f7fe`
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:35:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:35:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@17e8caf2] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@104cf647]
+2025-10-29 13:35:33 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:35:33 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:35:33 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 13:35:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@17e8caf2] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@4c2812aa]
+2025-10-29 13:35:33 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:35:33 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:35:33 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@4c2812aa] for TypeConfiguration
+2025-10-29 13:35:33 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 13:35:33 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 13:35:34 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-test
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-test
+2025-10-29 13:35:34 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_0a8109_1761712534243"}
+2025-10-29 13:35:34 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-test"}
+2025-10-29 13:35:34 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 13:35:34 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 3e224cf7-6899-406a-b709-8233eb964577
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 13:35:34 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 13:35:34 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 13:35:34 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 13:35:34 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 13:35:34 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 13:35:35 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 13:35:35 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 3.756 seconds (process running for 3.91)
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@7370bf92
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:48 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 13:35:48 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:35:49 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 14
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 13:35:49 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:49 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:50 [http-nio-8082-exec-2] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 13:35:50 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:50 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 13:35:50 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_0a8109_1761712534243","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 13:35:50 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_0a8109_1761712534243"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_0a8109_1761712534243","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_0a8109_1761712534243"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_0a8109_1761712534243","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_0a8109_1761712534243","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_0a8109_1761712534243","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"761f9de1d4ba4d3f9344a591dccc7a01_G31"}
+2025-10-29 13:35:50 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-test"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_0a8109_1761712534243","sessionName":"hgzero-eventhub-test","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_0a8109_1761712534243"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_0a8109_1761712534243","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_0a8109_1761712534243","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_0a8109_1761712534243","entityPath":"$cbs"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_0a8109_1761712534243","entityPath":"$cbs","subscriberId":"un_53a354_1761712551078"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_0a8109_1761712534243","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_0a8109_1761712534243","entityPath":"$cbs"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_0a8109_1761712534243","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_0a8109_1761712534243","linkName":"hgzero-eventhub-test","sessionName":"hgzero-eventhub-test"}
+2025-10-29 13:35:51 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_0a8109_1761712534243","linkName":"hgzero-eventhub-test","entityPath":"hgzero-eventhub-test","remoteTarget":"Target{address='hgzero-eventhub-test', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:51 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:51 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:35:51 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 3209ms
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-test"}
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_0a8109_1761712534243","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-test"}
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@4c2812aa] for TypeConfiguration
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@596f35ba] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@4c2812aa]
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 13:38:22 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 13:39:29 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 7585 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 13:39:29 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 13:39:29 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 68 ms. Found 9 JPA repository interfaces.
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 13:39:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 0 Redis repository interfaces.
+2025-10-29 13:39:30 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 13:39:30 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 13:39:30 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 13:39:30 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 13:39:30 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1024 ms
+2025-10-29 13:39:31 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 13:39:31 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 13:39:31 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@22ee7fdc
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@22ee7fdc
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@22ee7fdc
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@1a88d194
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@1a88d194
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@6949cead
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@6949cead
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@fe13916
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@fe13916
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5ea0a7a9
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5ea0a7a9
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5ea0a7a9
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@278c998
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@278c998
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@278c998
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@25e353dc
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@25e353dc
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@234ce7ff
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@780a91d0
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@780a91d0
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3cfab340
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@3387ab0
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@470f0637
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@6b278b17
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@2ae5580
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@4203529f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@4203529f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@4203529f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@7d82ca56
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@7d82ca56
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@7d82ca56
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@2aaa89c2
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@2aaa89c2
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@5a58db42
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@5a58db42
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@217fd3c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@217fd3c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@217fd3c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@69ac5752
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@1736273c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@1736273c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@ba86c53
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@36eb8e07
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@36eb8e07
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@36eb8e07
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@3df6494f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@1b5f960a
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@53ddabc6
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@39ac8c0c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@39ac8c0c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@361f1647
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@361f1647
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@51172948
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@6f2a3b37
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@323b0632
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7cd8831c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@146db8a6
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@2a20da9f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@40c0437f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@78b8f818
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@1e9d721
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@1e9d721
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@2d3111a1
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@2d3111a1
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@6f2864c3
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@6f2864c3
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@50ef2906
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@1f70bce5
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3ae91ab3
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@16cb6f51
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@3fc5d397
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@25c8c71e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@57867d96
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@57867d96
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1a7a21d0
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@bb21063
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@6821c63c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@c2f7c63
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@4790b897
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@4790b897
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@4790b897
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@5cba890e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@4e789704
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4e789704
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@2459333a
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@1e6bd367
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3601549f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5b2c7186
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@1b9c716f
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@f6bc75c
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@33f2cf82
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@bea283b
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@73852720
+2025-10-29 13:39:31 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 13:39:31 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@19c24321) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@ba27ce6)
+2025-10-29 13:39:31 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@97cb8dc) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@261b6c8c)
+2025-10-29 13:39:31 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 13:39:31 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@3a66d97e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3a66d97e
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@4e789704`
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:39:31 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 13:39:31 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@7a364e1c] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@29a50a11]
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:39:31 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 13:39:31 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@7a364e1c] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@45bb502f]
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 13:39:31 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 13:39:31 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@45bb502f] for TypeConfiguration
+2025-10-29 13:39:31 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 13:39:31 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 13:39:32 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-test2
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-test2
+2025-10-29 13:39:32 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_77e0ee_1761712772494"}
+2025-10-29 13:39:32 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 13:39:32 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 13:39:32 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 2cefc772-de4f-4529-831a-fa50d1cb52e0
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 13:39:32 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 13:39:32 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 13:39:32 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 13:39:33 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 13:39:33 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 13:39:33 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 13:39:33 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 3.864 seconds (process running for 4.012)
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-10-29 13:39:40 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:39:40 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 13:39:40 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:40 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 13:39:41 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@39c5d367
+2025-10-29 13:39:41 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 13:39:41 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:41 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:39:41 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 15
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:41 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:42 [http-nio-8082-exec-1] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 13:39:42 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:42 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:43 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_77e0ee_1761712772494"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_77e0ee_1761712772494"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_77e0ee_1761712772494","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"b8bde50c1e4841fbaaa1042f563b96d9_G7"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_77e0ee_1761712772494","sessionName":"hgzero-eventhub-test2","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_77e0ee_1761712772494"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_77e0ee_1761712772494","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","subscriberId":"un_aab1b9_1761712783477"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_77e0ee_1761712772494","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test2"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_77e0ee_1761712772494","linkName":"hgzero-eventhub-test2","sessionName":"hgzero-eventhub-test2"}
+2025-10-29 13:39:43 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_77e0ee_1761712772494","linkName":"hgzero-eventhub-test2","entityPath":"hgzero-eventhub-test2","remoteTarget":"Target{address='hgzero-eventhub-test2', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:43 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:43 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:39:43 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 3135ms
+2025-10-29 13:44:00 [lettuce-nioEventLoop-6-1] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 13:44:00 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 13:44:01 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 13:46:56 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 13:46:56 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@39c5d367 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@15b16075 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@602a6563 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@2f20b2d0 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@2087b342 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@3e2bcdef (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 13:46:56 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:56 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:46:56 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 16
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:56 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:57 [http-nio-8082-exec-4] WARN c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 실패 (서비스는 정상 동작) - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, 에러: Error in execution
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:57 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 13:46:57 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1669ms
+2025-10-29 13:57:42 [parallel-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test2"}
+2025-10-29 13:57:42 [reactor-executor-1] ERROR c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Error occurred while refreshing token that is not retriable. Not scheduling refresh task. Use ActiveClientTokenManager.authorize() to schedule task again.","exception":"The messaging entity 'Invalid audience: Namespace cannot be resolved 'amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test2'' could not be found. To know more visit https://aka.ms/sbResourceMgrExceptions. , errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:receiver, LINK_CREDIT: 0]","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test2","audience":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-test2"}
+2025-10-29 13:57:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":null,"errorDescription":null,"linkName":"hgzero-eventhub-test2","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 13:57:42 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Complete. Removing and disposing send link.","connectionId":"MF_77e0ee_1761712772494","linkName":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[hgzero-eventhub-test2] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-test2]
+Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[hgzero-eventhub-test2] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-test2]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[hgzero-eventhub-test2] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-test2]","connectionId":"MF_77e0ee_1761712772494","sessionName":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_77e0ee_1761712772494","linkName":"cbs:sender","entityPath":"$cbs","state":"ACTIVE"}
+2025-10-29 14:02:42 [reactor-executor-1] WARN c.a.c.a.i.RequestResponseChannel - {"az.sdk.message":"Error in SendLinkHandler. Disposing unconfirmed sends.","exception":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_77e0ee_1761712772494","linkName":"cbs"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Transient error occurred. Retrying.","exception":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","tryCount":0,"interval_ms":4511}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"cbs-session"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"cbs-session"}
+2025-10-29 14:02:42 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]
+Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_77e0ee_1761712772494], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]","connectionId":"MF_77e0ee_1761712772494","sessionName":"cbs-session"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_77e0ee_1761712772494","errorCondition":"n/a","errorDescription":"n/a","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.TransportHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalClose","connectionId":"MF_77e0ee_1761712772494","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionUnbound","connectionId":"MF_77e0ee_1761712772494","hostName":"hgzero-eventhub-ns.servicebus.windows.net","state":"CLOSED","remoteState":"CLOSED"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_77e0ee_1761712772494","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Connection handler closed."}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is closed. Requesting upstream.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_df9f22_1761714162840"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_77e0ee_1761712772494","linkName":"hgzero-eventhub-test2","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"hgzero-eventhub-test2"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_77e0ee_1761712772494","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_77e0ee_1761712772494","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_77e0ee_1761712772494","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container 'b8bde50c1e4841fbaaa1042f563b96d9_G7' because it did not have any active links in the past 300000 milliseconds. TrackingId:b8bde50c1e4841fbaaa1042f563b96d9_G7, SystemTracker:gateway5, Timestamp:2025-10-29T05:02:42","sessionName":"cbs-session"}
+2025-10-29 14:02:42 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionFinal","connectionId":"MF_77e0ee_1761712772494","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:02:47 [parallel-6] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Requesting from upstream.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","tryCount":0}
+2025-10-29 14:02:47 [parallel-6] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs"}
+2025-10-29 14:02:47 [parallel-6] WARN c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Retry attempts exhausted or exception was not retriable.","exception":"Cannot invoke \"java.util.List.add(Object)\" because \"this._sessions\" is null","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","tryCount":1}
+2025-10-29 14:02:47 [parallel-6] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null
+Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null
+ at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:91)
+ at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:39)
+ at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$13(ReactorConnection.java:282)
+ at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
+ at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$14(ReactorConnection.java:279)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
+ at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180)
+ at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
+ at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.request(MonoIgnoreThen.java:164)
+ at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
+ at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
+ at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331)
+ at com.azure.core.amqp.implementation.AmqpChannelProcessor.requestUpstream(AmqpChannelProcessor.java:317)
+ at com.azure.core.amqp.implementation.AmqpChannelProcessor.lambda$onError$4(AmqpChannelProcessor.java:213)
+ at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171)
+ at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270)
+ at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:02:47 [parallel-6] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_77e0ee_1761712772494","entityPath":"$cbs","subscriberId":"un_f842c8_1761714162839"}
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_df9f22_1761714162840","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."}
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-test2"}
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@45bb502f] for TypeConfiguration
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@31d80bc8] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@45bb502f]
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
+2025-10-29 14:07:10 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
+2025-10-29 14:12:18 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 19994 (/Users/daewoong/home/workspace/HGZero/meeting/build/classes/java/main started by daewoong in /Users/daewoong/home/workspace/HGZero/meeting)
+2025-10-29 14:12:18 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14
+2025-10-29 14:12:18 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev"
+2025-10-29 14:12:18 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 14:12:18 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-10-29 14:12:18 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 9 JPA repository interfaces.
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository
+2025-10-29 14:12:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 0 Redis repository interfaces.
+2025-10-29 14:12:19 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http)
+2025-10-29 14:12:19 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-10-29 14:12:19 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31]
+2025-10-29 14:12:19 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-10-29 14:12:19 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1024 ms
+2025-10-29 14:12:19 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-10-29 14:12:19 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final
+2025-10-29 14:12:19 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@3a4cb483
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@4d770bcd
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@fe156f4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@79b4cff
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@58ac0823
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@2d705998
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@28a3fc34
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@7582a16b
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4dd752e8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@62c46e53
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@55317c63
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@35d81657
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@42ef5216
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@3180aee
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5d94ac8a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@288b73c1
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@104cfb24
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@5340ccb9
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@2bc8caa7
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@582ea164
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@2fccf49e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7abcc0da
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@174cb0d8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@3ac406d4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@72646d16
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@6ec2d990
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@1cfa7ee0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@612290d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@57cff804
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@2f39b534
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@60fbc34d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@7736c41e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5f911d24
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@3de383f7
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@33ccead
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@42ebece0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@15c4b1a4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@341964d0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@51b59d58
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4ca4f762
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7c5d36c3
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@31de27c
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@7ebfe01a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@154b0748
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@35c00c
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@6cd7dc74
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@6cd7dc74
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6d695ec4
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@20556566
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@e4ef4c0
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@5ca8bd01
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@7b10472e
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@70e5737f
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@9746157
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@10ad95cd
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@69fd99c1
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@32d8710a
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@180cc0df
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@64f33dee
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@61c58320
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@10e4ee33
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@6e90cec8
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@13f182b9
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5ee0cf64
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@69c227fd
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@14c5283
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@14c5283
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@1eb7ec59
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@46748b04
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@64d53f0d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@64d53f0d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@69419d59
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@7affee54
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@2337bf27
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@4679554d
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@43719e98
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@49353d43
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@57e57dc5
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@5bba9949
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@147059f8
+2025-10-29 14:12:19 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer
+2025-10-29 14:12:19 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead
+2025-10-29 14:12:19 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
+2025-10-29 14:12:19 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@42028589) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@50f6ecab)
+2025-10-29 14:12:19 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@fc21ff4) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@58647985)
+2025-10-29 14:12:19 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT))
+2025-10-29 14:12:19 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@488b46da
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@488b46da
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@64d53f0d`
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 14:12:19 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007)
+2025-10-29 14:12:19 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@104cf647] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@7488c183]
+2025-10-29 14:12:19 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 14:12:19 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 14:12:20 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
+2025-10-29 14:12:20 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@104cf647] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@5d04adc1]
+2025-10-29 14:12:20 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead
+2025-10-29 14:12:20 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead
+2025-10-29 14:12:20 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@5d04adc1] for TypeConfiguration
+2025-10-29 14:12:20 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-10-29 14:12:20 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used.
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화)
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1
+2025-10-29 14:12:20 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name
+2025-10-29 14:12:20 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name
+2025-10-29 14:12:21 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_1553a4_1761714741022"}
+2025-10-29 14:12:21 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:12:21 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
+2025-10-29 14:12:21 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration -
+
+Using generated security password: 9247447d-8af3-4f0f-bf32-fdfb7bf210a0
+
+This generated password is for development use only. Your security configuration must be updated before running your application in production.
+
+2025-10-29 14:12:21 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager
+2025-10-29 14:12:21 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId}
+2025-10-29 14:12:21 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator'
+2025-10-29 14:12:21 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter
+2025-10-29 14:12:21 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)
+2025-10-29 14:12:21 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/'
+2025-10-29 14:12:21 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 3.722 seconds (process running for 3.872)
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/fe337d6e-df7b-4030-9bbd-5c72c83d9c8a/finalize
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, fe337d6e-df7b-4030-9bbd-5c72c83d9c8a]
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@6d5073d4
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a by user: user-005
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 14:12:58 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, version: 17
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:58 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 14:12:59 [http-nio-8082-exec-2] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 42703
+2025-10-29 14:12:59 [http-nio-8082-exec-2] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: column ase1_0.decisions does not exist
+ Position: 118
+2025-10-29 14:12:59 [http-nio-8082-exec-2] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId 실패 - 실행시간: 164ms, 에러: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+2025-10-29 14:12:59 [http-nio-8082-exec-2] ERROR c.u.h.m.i.c.MinutesController - 안건 정보 조회 실패 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+org.springframework.dao.InvalidDataAccessResourceUsageException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:277)
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
+ at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
+ at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
+ at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
+ at jdk.proxy2/jdk.proxy2.$Proxy174.findByMinutesIdOrderByAgendaNumber(Unknown Source)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId(AgendaSectionService.java:33)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService$$SpringCGLIB$$0.getAgendaSectionsByMinutesId()
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.buildAgendaInfoList(MinutesController.java:755)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.convertToMinutesDetailResponse(MinutesController.java:620)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes(MinutesController.java:240)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.finalizeMinutes()
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
+ at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
+ at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
+ at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
+ at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
+ at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
+ at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
+ at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
+ at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
+ at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
+ at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
+ at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]
+ at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
+ at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:264)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:167)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.advanceNext(JdbcValuesResultSetImpl.java:265)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.processNext(JdbcValuesResultSetImpl.java:145)
+ at org.hibernate.sql.results.jdbc.internal.AbstractJdbcValues.next(AbstractJdbcValues.java:19)
+ at org.hibernate.sql.results.internal.RowProcessingStateStandardImpl.next(RowProcessingStateStandardImpl.java:67)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:204)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:211)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:83)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:76)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:65)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:139)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:382)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:302)
+ at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:526)
+ at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:423)
+ at org.hibernate.query.Query.getResultList(Query.java:120)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:152)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:140)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:169)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:148)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:70)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
+ ... 187 common frames omitted
+Caused by: org.postgresql.util.PSQLException: ERROR: column ase1_0.decisions does not exist
+ Position: 118
+ at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
+ at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
+ at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
+ at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
+ at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
+ at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
+ at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
+ at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
+ at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:246)
+ ... 219 common frames omitted
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, totalCount: 0
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 14:12:59 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:13:00 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:13:00 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:13:00 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 14:13:00 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 14:13:00 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_1553a4_1761714741022"}
+2025-10-29 14:13:00 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:13:00 [reactor-executor-1] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_1553a4_1761714741022"}
+2025-10-29 14:13:00 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_1553a4_1761714741022","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:13:00 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1553a4_1761714741022","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_1553a4_1761714741022"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_1553a4_1761714741022","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","subscriberId":"un_947bbe_1761714781126"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1553a4_1761714741022","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_1553a4_1761714741022","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:13:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_1553a4_1761714741022","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:13:01 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:13:01 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a, meetingId: 752c5d70-6e7d-47a0-9cab-d7d9240dc5a2
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: fe337d6e-df7b-4030-9bbd-5c72c83d9c8a
+2025-10-29 14:13:01 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 3496ms
+2025-10-29 14:17:18 [lettuce-nioEventLoop-6-1] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:17:18 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 14:17:18 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 14:21:40 [lettuce-nioEventLoop-6-2] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:21:40 [lettuce-eventExecutorLoop-1-3] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 14:21:40 [lettuce-nioEventLoop-6-3] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 14:26:00 [lettuce-nioEventLoop-6-3] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset
+java.net.SocketException: Connection reset
+ at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
+ at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
+ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255)
+ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
+ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356)
+ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
+ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
+ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
+ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
+ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
+ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:26:00 [lettuce-eventExecutorLoop-1-4] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379
+2025-10-29 14:26:01 [lettuce-nioEventLoop-6-4] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379
+2025-10-29 14:31:00 [parallel-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Refreshing token.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 14:43:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:link:detach-forced","errorDescription":"Idle link tracker, link hgzero-eventhub-name has been idle for 1800000ms TrackingId:d4937cb3-cbee-4b91-9d4c-047577777f8a_G0, SystemTracker:hgzero-eventhub-ns:EventHub:hgzero-eventhub-name, Timestamp:2025-10-29T05:43:01","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:43:01 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_1553a4_1761714741022","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","state":"ACTIVE"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name]
+Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[hgzero-eventhub-name] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: hgzero-eventhub-name]","connectionId":"MF_1553a4_1761714741022","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_1553a4_1761714741022","linkName":"cbs:sender","entityPath":"$cbs","state":"ACTIVE"}
+2025-10-29 14:48:02 [reactor-executor-1] WARN c.a.c.a.i.RequestResponseChannel - {"az.sdk.message":"Error in SendLinkHandler. Disposing unconfirmed sends.","exception":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_1553a4_1761714741022","linkName":"cbs"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Transient error occurred. Retrying.","exception":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","tryCount":0,"interval_ms":4511}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"Local link state is not closed.","connectionId":"MF_1553a4_1761714741022","linkName":"cbs:receiver","entityPath":"$cbs","state":"ACTIVE"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"cbs-session"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteClose closing a local session.","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"cbs-session"}
+2025-10-29 14:48:02 [reactor-executor-1] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]
+Caused by: com.azure.core.amqp.exception.AmqpException: onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.SessionHandler.onSessionRemoteClose(SessionHandler.java:136)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:152)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Error occurred. Removing and disposing session","exception":"onSessionRemoteClose connectionId[MF_1553a4_1761714741022], entityName[cbs-session] condition[Error{condition=amqp:connection:forced, description='The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01', info=null}], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: cbs-session]","connectionId":"MF_1553a4_1761714741022","sessionName":"cbs-session"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteClose","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_1553a4_1761714741022","errorCondition":"n/a","errorDescription":"n/a","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.TransportHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalClose","connectionId":"MF_1553a4_1761714741022","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionUnbound","connectionId":"MF_1553a4_1761714741022","hostName":"hgzero-eventhub-ns.servicebus.windows.net","state":"CLOSED","remoteState":"CLOSED"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_1553a4_1761714741022","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Connection handler closed."}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is closed. Requesting upstream.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_1553a4_1761714741022","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_1553a4_1761714741022","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_1553a4_1761714741022","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_1553a4_1761714741022","errorCondition":"amqp:connection:forced","errorDescription":"The connection was closed by container '7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0' because it did not have any active links in the past 300000 milliseconds. TrackingId:7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0, SystemTracker:gateway5, Timestamp:2025-10-29T05:48:01","sessionName":"cbs-session"}
+2025-10-29 14:48:02 [reactor-executor-1] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionFinal","connectionId":"MF_1553a4_1761714741022","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:48:06 [parallel-8] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Requesting from upstream.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","tryCount":0}
+2025-10-29 14:48:06 [parallel-8] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs"}
+2025-10-29 14:48:06 [parallel-8] WARN c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Retry attempts exhausted or exception was not retriable.","exception":"Cannot invoke \"java.util.List.add(Object)\" because \"this._sessions\" is null","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","tryCount":1}
+2025-10-29 14:48:06 [parallel-8] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null
+Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this._sessions" is null
+ at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:91)
+ at org.apache.qpid.proton.engine.impl.ConnectionImpl.session(ConnectionImpl.java:39)
+ at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$13(ReactorConnection.java:282)
+ at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
+ at com.azure.core.amqp.implementation.ReactorConnection.lambda$createSession$14(ReactorConnection.java:279)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
+ at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180)
+ at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
+ at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.request(MonoIgnoreThen.java:164)
+ at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
+ at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
+ at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
+ at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2331)
+ at com.azure.core.amqp.implementation.AmqpChannelProcessor.requestUpstream(AmqpChannelProcessor.java:317)
+ at com.azure.core.amqp.implementation.AmqpChannelProcessor.lambda$onError$4(AmqpChannelProcessor.java:213)
+ at reactor.core.publisher.LambdaMonoSubscriber.onNext(LambdaMonoSubscriber.java:171)
+ at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270)
+ at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 14:48:06 [parallel-8] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_1553a4_1761714741022","entityPath":"$cbs","subscriberId":"un_256947_1761716882039"}
+2025-10-29 14:59:02 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/reserve
+2025-10-29 14:59:02 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 14:59:02 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/reserve
+2025-10-29 14:59:03 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 호출 - 파라미터: [user-005, dohyunjung, dohyun.jung@example.com, com.unicorn.hgzero.meeting.infra.dto.request.CreateMeetingRequest@272cbd2e]
+2025-10-29 14:59:03 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MeetingController - 회의 예약 요청 - userId: user-005, title: 감리미 시스템 ITO 회의
+2025-10-29 14:59:03 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@15cb6a14 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 14:59:03 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1f78ed67 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 14:59:03 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@4156cf0f (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 14:59:03 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@f8386fb (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 14:59:03 [http-nio-8082-exec-4] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@43715b45 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 14:59:03 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MeetingService - Creating meeting: 감리미 시스템 ITO 회의
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* SELECT
+ COUNT(m)
+ FROM
+ MeetingEntity m
+ WHERE
+ m.organizerId = :organizerId
+ AND m.status IN ('SCHEDULED', 'IN_PROGRESS')
+ AND (
+ (
+ m.scheduledAt < :endTime
+ AND m.endTime > :startTime
+ )
+ ) */ select
+ count(me1_0.meeting_id)
+ from
+ meetings me1_0
+ where
+ me1_0.organizer_id=?
+ and me1_0.status in ('SCHEDULED', 'IN_PROGRESS')
+ and (
+ (
+ me1_0.scheduled_at
+ and me1_0.end_time>?
+ )
+ )
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at,
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meetings me1_0
+ left join
+ meeting_participants p1_0
+ on me1_0.meeting_id=p1_0.meeting_id
+ where
+ me1_0.meeting_id=?
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */insert
+ into
+ meetings (created_at, description, end_time, ended_at, location, organizer_id, purpose, scheduled_at, started_at, status, template_id, title, updated_at, meeting_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participants saved: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8, count=2
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Participants saved: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8, count=2
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:03 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cached: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:03 [http-nio-8082-exec-4] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_b6a1c6_1761716882041","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 14:59:03 [http-nio-8082-exec-4] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 14:59:03 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_b6a1c6_1761716882041","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:59:03 [reactor-executor-2] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 14:59:03 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_b6a1c6_1761716882041","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 14:59:03 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_b6a1c6_1761716882041","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"092e49bbdacc44a08ad91c848c7cb2b2_G10"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs","subscriberId":"un_3cf70b_1761717544071"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_b6a1c6_1761716882041","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 14:59:04 [reactor-executor-2] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_b6a1c6_1761716882041","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du0928@gmail.com
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=daewoong.jeon@kt.com
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.h.m.i.e.p.EventHubPublisher - 회의 생성 알림 발행 완료 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8, participants count: 2
+2025-10-29 14:59:04 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.MeetingService - Meeting invitation events published: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8, participants=2
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.h.m.biz.service.MeetingService - Meeting created successfully: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:04 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 14:59:04 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.MeetingController - 회의 예약 완료 - userId: user-005, meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:04 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 완료 - 실행시간: 1489ms
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/baf42658-0794-4e1f-9fea-375fd61a19a8/start
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/baf42658-0794-4e1f-9fea-375fd61a19a8/start
+2025-10-29 14:59:31 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [baf42658-0794-4e1f-9fea-375fd61a19a8, user-005, dohyunjung, dohyun.jung@example.com]
+2025-10-29 14:59:31 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8, userId: user-005
+2025-10-29 14:59:31 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 성공 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 실패 (DB에서 조회) - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8, 에러: Unrecognized field "inProgress" (class com.unicorn.hgzero.meeting.biz.domain.Meeting), not marked as ignorable (13 known properties: "scheduledAt", "endTime", "organizerId", "endedAt", "status", "startedAt", "location", "meetingId", "title", "description", "purpose", "participants", "templateId"])
+ at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 419] (through reference chain: com.unicorn.hgzero.meeting.biz.domain.Meeting["inProgress"])
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ se1_0.session_id,
+ se1_0.created_at,
+ se1_0.ended_at,
+ se1_0.meeting_id,
+ se1_0.minutes_id,
+ se1_0.started_at,
+ se1_0.started_by,
+ se1_0.status,
+ se1_0.updated_at
+ from
+ sessions se1_0
+ where
+ se1_0.session_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=de4dbe83-6658-4476-a1f1-c4c4785f02f0, meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.infra.cache.CacheService - 캐시 삭제 - key: meeting:baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version,
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes me1_0
+ left join
+ minutes_sections s1_0
+ on me1_0.minutes_id=s1_0.minutes_id
+ where
+ me1_0.minutes_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=b47687ff-39e5-41dc-8a1c-e12cf3a7af33, meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8, sessionId=de4dbe83-6658-4476-a1f1-c4c4785f02f0
+2025-10-29 14:59:31 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=baf42658-0794-4e1f-9fea-375fd61a19a8, sessionId=de4dbe83-6658-4476-a1f1-c4c4785f02f0, minutesId=b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert
+ into
+ sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert
+ into
+ minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings
+ set
+ description=?,
+ end_time=?,
+ ended_at=?,
+ location=?,
+ organizer_id=?,
+ purpose=?,
+ scheduled_at=?,
+ started_at=?,
+ status=?,
+ template_id=?,
+ title=?,
+ updated_at=?
+ where
+ meeting_id=?
+2025-10-29 14:59:31 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions
+ set
+ ended_at=?,
+ meeting_id=?,
+ minutes_id=?,
+ started_at=?,
+ started_by=?,
+ status=?,
+ updated_at=?
+ where
+ session_id=?
+2025-10-29 14:59:32 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8, sessionId: de4dbe83-6658-4476-a1f1-c4c4785f02f0
+2025-10-29 14:59:32 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 880ms
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/b47687ff-39e5-41dc-8a1c-e12cf3a7af33/finalize
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/b47687ff-39e5-41dc-8a1c-e12cf3a7af33/finalize
+2025-10-29 15:02:19 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, b47687ff-39e5-41dc-8a1c-e12cf3a7af33]
+2025-10-29 15:02:19 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:19 [http-nio-8082-exec-9] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:19 [http-nio-8082-exec-9] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: b47687ff-39e5-41dc-8a1c-e12cf3a7af33 by user: user-005
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 15:02:19 [http-nio-8082-exec-9] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: b47687ff-39e5-41dc-8a1c-e12cf3a7af33, version: 2
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:19 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 15:02:20 [http-nio-8082-exec-9] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 42703
+2025-10-29 15:02:20 [http-nio-8082-exec-9] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: column ase1_0.decisions does not exist
+ Position: 118
+2025-10-29 15:02:20 [http-nio-8082-exec-9] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId 실패 - 실행시간: 56ms, 에러: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+2025-10-29 15:02:20 [http-nio-8082-exec-9] ERROR c.u.h.m.i.c.MinutesController - 안건 정보 조회 실패 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+org.springframework.dao.InvalidDataAccessResourceUsageException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:277)
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
+ at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
+ at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
+ at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
+ at jdk.proxy2/jdk.proxy2.$Proxy174.findByMinutesIdOrderByAgendaNumber(Unknown Source)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId(AgendaSectionService.java:33)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService$$SpringCGLIB$$0.getAgendaSectionsByMinutesId()
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.buildAgendaInfoList(MinutesController.java:755)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.convertToMinutesDetailResponse(MinutesController.java:620)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes(MinutesController.java:240)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.finalizeMinutes()
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
+ at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
+ at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
+ at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
+ at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
+ at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
+ at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
+ at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
+ at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
+ at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
+ at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
+ at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]
+ at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
+ at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:264)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:167)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.advanceNext(JdbcValuesResultSetImpl.java:265)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.processNext(JdbcValuesResultSetImpl.java:145)
+ at org.hibernate.sql.results.jdbc.internal.AbstractJdbcValues.next(AbstractJdbcValues.java:19)
+ at org.hibernate.sql.results.internal.RowProcessingStateStandardImpl.next(RowProcessingStateStandardImpl.java:67)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:204)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:211)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:83)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:76)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:65)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:139)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:382)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:302)
+ at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:526)
+ at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:423)
+ at org.hibernate.query.Query.getResultList(Query.java:120)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:152)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:140)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:169)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:148)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:70)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
+ ... 187 common frames omitted
+Caused by: org.postgresql.util.PSQLException: ERROR: column ase1_0.decisions does not exist
+ Position: 118
+ at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
+ at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
+ at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
+ at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
+ at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
+ at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
+ at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
+ at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
+ at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:246)
+ ... 219 common frames omitted
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33, totalCount: 0
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:02:20 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:21 [http-nio-8082-exec-9] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:21 [http-nio-8082-exec-9] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:21 [http-nio-8082-exec-9] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:21 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:21 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33, meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33, meetingId: baf42658-0794-4e1f-9fea-375fd61a19a8
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: b47687ff-39e5-41dc-8a1c-e12cf3a7af33
+2025-10-29 15:02:21 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1977ms
+2025-10-29 15:06:21 [reactor-executor-2] WARN c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportError","connectionId":"MF_b6a1c6_1761716882041","errorCondition":"proton:io","errorDescription":"Connection reset","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_b6a1c6_1761716882041","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Connection reset, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionUnbound","connectionId":"MF_b6a1c6_1761716882041","hostName":"hgzero-eventhub-ns.servicebus.windows.net","state":"ACTIVE","remoteState":"ACTIVE"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_b6a1c6_1761716882041","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_b6a1c6_1761716882041","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_b6a1c6_1761716882041","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_b6a1c6_1761716882041","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is closed. Requesting upstream.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_b6a1c6_1761716882041","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionFinal","connectionId":"MF_b6a1c6_1761716882041","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Closing executor.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Sender link was never active. Closing endpoint states.","connectionId":"MF_b6a1c6_1761716882041","linkName":"cbs","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"Receiver link was never active. Closing endpoint states","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is disposed.","connectionId":"MF_b6a1c6_1761716882041","entityPath":"$cbs"}
+2025-10-29 15:06:21 [reactor-executor-2] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalClose","connectionId":"MF_b6a1c6_1761716882041","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:06:25 [reactor-executor-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Processing all pending tasks and closing old reactor.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 15:06:25 [reactor-executor-2] INFO c.a.c.a.i.ReactorDispatcher - {"az.sdk.message":"Reactor selectable is being disposed.","connectionId":"MF_b6a1c6_1761716882041"}
+2025-10-29 15:06:25 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"onConnectionShutdown. Shutting down.","connectionId":"MF_b6a1c6_1761716882041","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"connectionId[MF_b6a1c6_1761716882041] Reactor selectable is disposed.","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:06:25 [reactor-executor-2] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: Connection reset, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]
+Caused by: com.azure.core.amqp.exception.AmqpException: Connection reset, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.ConnectionHandler.notifyErrorContext(ConnectionHandler.java:351)
+ at com.azure.core.amqp.implementation.handler.ConnectionHandler.onTransportError(ConnectionHandler.java:253)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 15:06:25 [reactor-executor-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Transient error occurred. Retrying.","exception":"Connection reset, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]","entityPath":"hgzero-eventhub-name","tryCount":0,"interval_ms":4511}
+2025-10-29 15:06:25 [reactor-executor-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"onConnectionShutdown. Shutting down.","connectionId":"MF_b6a1c6_1761716882041","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Finished processing pending tasks.","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:06:29 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Requesting from upstream.","entityPath":"hgzero-eventhub-name","tryCount":0}
+2025-10-29 15:06:29 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:06:29 [parallel-2] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:06:29 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:18:13 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/reserve
+2025-10-29 15:18:13 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:18:13 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/reserve
+2025-10-29 15:18:13 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 호출 - 파라미터: [user-005, dohyunjung, dohyun.jung@example.com, com.unicorn.hgzero.meeting.infra.dto.request.CreateMeetingRequest@15b81e72]
+2025-10-29 15:18:13 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 요청 - userId: user-005, title: 인터넷 일 상한 속도제어 관련 이슈사항 검토 회의
+2025-10-29 15:18:13 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@6c630f46 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 15:18:13 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1b8a068a (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 15:18:13 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@65951cbf (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 15:18:13 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@308bd5f1 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 15:18:13 [http-nio-8082-exec-2] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1ba4f9f4 (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
+2025-10-29 15:18:14 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Creating meeting: 인터넷 일 상한 속도제어 관련 이슈사항 검토 회의
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* SELECT
+ COUNT(m)
+ FROM
+ MeetingEntity m
+ WHERE
+ m.organizerId = :organizerId
+ AND m.status IN ('SCHEDULED', 'IN_PROGRESS')
+ AND (
+ (
+ m.scheduledAt < :endTime
+ AND m.endTime > :startTime
+ )
+ ) */ select
+ count(me1_0.meeting_id)
+ from
+ meetings me1_0
+ where
+ me1_0.organizer_id=?
+ and me1_0.status in ('SCHEDULED', 'IN_PROGRESS')
+ and (
+ (
+ me1_0.scheduled_at
+ and me1_0.end_time>?
+ )
+ )
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at,
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meetings me1_0
+ left join
+ meeting_participants p1_0
+ on me1_0.meeting_id=p1_0.meeting_id
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */insert
+ into
+ meetings (created_at, description, end_time, ended_at, location, organizer_id, purpose, scheduled_at, started_at, status, template_id, title, updated_at, meeting_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participants saved: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941, count=2
+2025-10-29 15:18:14 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Participants saved: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941, count=2
+2025-10-29 15:18:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cached: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_71f49f_1761717989872","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_71f49f_1761717989872","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_71f49f_1761717989872","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_71f49f_1761717989872","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_71f49f_1761717989872","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"7e3b9b68da8b4cc78a9d8fa8a5ca955e_G0"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_71f49f_1761717989872","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_71f49f_1761717989872","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs","subscriberId":"un_419ef8_1761718695304"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_71f49f_1761717989872","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_71f49f_1761717989872","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 15:18:15 [reactor-executor-3] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_71f49f_1761717989872","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du0928@gmail.com
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=daewoong.jeon@kt.com
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.e.p.EventHubPublisher - 회의 생성 알림 발행 완료 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941, participants count: 2
+2025-10-29 15:18:15 [http-nio-8082-exec-2] DEBUG c.u.h.m.biz.service.MeetingService - Meeting invitation events published: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941, participants=2
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.h.m.biz.service.MeetingService - Meeting created successfully: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 15:18:15 [http-nio-8082-exec-2] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.h.m.i.c.MeetingController - 회의 예약 완료 - userId: user-005, meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:15 [http-nio-8082-exec-2] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 완료 - 실행시간: 2353ms
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/603438ef-68d9-4498-9c54-bc3fe258b941/start
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/603438ef-68d9-4498-9c54-bc3fe258b941/start
+2025-10-29 15:18:30 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [603438ef-68d9-4498-9c54-bc3fe258b941, user-005, dohyunjung, dohyun.jung@example.com]
+2025-10-29 15:18:30 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941, userId: user-005
+2025-10-29 15:18:30 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 성공 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:30 [http-nio-8082-exec-3] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 실패 (DB에서 조회) - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941, 에러: Unrecognized field "inProgress" (class com.unicorn.hgzero.meeting.biz.domain.Meeting), not marked as ignorable (13 known properties: "scheduledAt", "endTime", "organizerId", "endedAt", "status", "startedAt", "location", "meetingId", "title", "description", "purpose", "participants", "templateId"])
+ at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 435] (through reference chain: com.unicorn.hgzero.meeting.biz.domain.Meeting["inProgress"])
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:18:30 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ se1_0.session_id,
+ se1_0.created_at,
+ se1_0.ended_at,
+ se1_0.meeting_id,
+ se1_0.minutes_id,
+ se1_0.started_at,
+ se1_0.started_by,
+ se1_0.status,
+ se1_0.updated_at
+ from
+ sessions se1_0
+ where
+ se1_0.session_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=dddba642-b9e6-432e-a580-8da2aedf46ad, meetingId=603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.cache.CacheService - 캐시 삭제 - key: meeting:603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version,
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes me1_0
+ left join
+ minutes_sections s1_0
+ on me1_0.minutes_id=s1_0.minutes_id
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=5c037d21-599d-4fa9-b712-3cdf676451c3, meetingId=603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941, sessionId=dddba642-b9e6-432e-a580-8da2aedf46ad
+2025-10-29 15:18:31 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=603438ef-68d9-4498-9c54-bc3fe258b941, sessionId=dddba642-b9e6-432e-a580-8da2aedf46ad, minutesId=5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert
+ into
+ sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert
+ into
+ minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings
+ set
+ description=?,
+ end_time=?,
+ ended_at=?,
+ location=?,
+ organizer_id=?,
+ purpose=?,
+ scheduled_at=?,
+ started_at=?,
+ status=?,
+ template_id=?,
+ title=?,
+ updated_at=?
+ where
+ meeting_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions
+ set
+ ended_at=?,
+ meeting_id=?,
+ minutes_id=?,
+ started_at=?,
+ started_by=?,
+ status=?,
+ updated_at=?
+ where
+ session_id=?
+2025-10-29 15:18:31 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941, sessionId: dddba642-b9e6-432e-a580-8da2aedf46ad
+2025-10-29 15:18:31 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 649ms
+2025-10-29 15:20:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/5c037d21-599d-4fa9-b712-3cdf676451c3/finalize
+2025-10-29 15:20:57 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:20:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/5c037d21-599d-4fa9-b712-3cdf676451c3/finalize
+2025-10-29 15:20:57 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, 5c037d21-599d-4fa9-b712-3cdf676451c3]
+2025-10-29 15:20:57 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:58 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:58 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: 5c037d21-599d-4fa9-b712-3cdf676451c3 by user: user-005
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 15:20:58 [http-nio-8082-exec-6] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: 5c037d21-599d-4fa9-b712-3cdf676451c3, version: 2
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:58 [http-nio-8082-exec-6] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:58 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 15:20:58 [http-nio-8082-exec-6] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 42703
+2025-10-29 15:20:58 [http-nio-8082-exec-6] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: column ase1_0.decisions does not exist
+ Position: 118
+2025-10-29 15:20:58 [http-nio-8082-exec-6] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId 실패 - 실행시간: 36ms, 에러: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+2025-10-29 15:20:59 [http-nio-8082-exec-6] ERROR c.u.h.m.i.c.MinutesController - 안건 정보 조회 실패 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+org.springframework.dao.InvalidDataAccessResourceUsageException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:277)
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
+ at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
+ at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
+ at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
+ at jdk.proxy2/jdk.proxy2.$Proxy174.findByMinutesIdOrderByAgendaNumber(Unknown Source)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId(AgendaSectionService.java:33)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService$$SpringCGLIB$$0.getAgendaSectionsByMinutesId()
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.buildAgendaInfoList(MinutesController.java:755)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.convertToMinutesDetailResponse(MinutesController.java:620)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes(MinutesController.java:240)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.finalizeMinutes()
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
+ at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
+ at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
+ at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
+ at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
+ at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
+ at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
+ at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
+ at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
+ at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
+ at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
+ at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]
+ at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
+ at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:264)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:167)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.advanceNext(JdbcValuesResultSetImpl.java:265)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.processNext(JdbcValuesResultSetImpl.java:145)
+ at org.hibernate.sql.results.jdbc.internal.AbstractJdbcValues.next(AbstractJdbcValues.java:19)
+ at org.hibernate.sql.results.internal.RowProcessingStateStandardImpl.next(RowProcessingStateStandardImpl.java:67)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:204)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:211)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:83)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:76)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:65)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:139)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:382)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:302)
+ at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:526)
+ at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:423)
+ at org.hibernate.query.Query.getResultList(Query.java:120)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:152)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:140)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:169)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:148)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:70)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
+ ... 187 common frames omitted
+Caused by: org.postgresql.util.PSQLException: ERROR: column ase1_0.decisions does not exist
+ Position: 118
+ at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
+ at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
+ at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
+ at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
+ at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
+ at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
+ at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
+ at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
+ at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:246)
+ ... 219 common frames omitted
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3, totalCount: 0
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:59 [http-nio-8082-exec-6] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3, meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3, meetingId: 603438ef-68d9-4498-9c54-bc3fe258b941
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: 5c037d21-599d-4fa9-b712-3cdf676451c3
+2025-10-29 15:20:59 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 1832ms
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/reserve
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/reserve
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 호출 - 파라미터: [user-005, dohyunjung, dohyun.jung@example.com, com.unicorn.hgzero.meeting.infra.dto.request.CreateMeetingRequest@75bd2750]
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MeetingController - 회의 예약 요청 - userId: user-005, title: 인터넷 일 상한 속도제어 개발협의 회의
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.biz.service.MeetingService - Creating meeting: 인터넷 일 상한 속도제어 개발협의 회의
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* SELECT
+ COUNT(m)
+ FROM
+ MeetingEntity m
+ WHERE
+ m.organizerId = :organizerId
+ AND m.status IN ('SCHEDULED', 'IN_PROGRESS')
+ AND (
+ (
+ m.scheduledAt < :endTime
+ AND m.endTime > :startTime
+ )
+ ) */ select
+ count(me1_0.meeting_id)
+ from
+ meetings me1_0
+ where
+ me1_0.organizer_id=?
+ and me1_0.status in ('SCHEDULED', 'IN_PROGRESS')
+ and (
+ (
+ me1_0.scheduled_at
+ and me1_0.end_time>?
+ )
+ )
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at,
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meetings me1_0
+ left join
+ meeting_participants p1_0
+ on me1_0.meeting_id=p1_0.meeting_id
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */insert
+ into
+ meetings (created_at, description, end_time, ended_at, location, organizer_id, purpose, scheduled_at, started_at, status, template_id, title, updated_at, meeting_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+ and mpe1_0.user_id=?
+ fetch
+ first ? rows only
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ (
+ mpe1_0.meeting_id, mpe1_0.user_id
+ ) in ((?, ?))
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.i.gateway.ParticipantGateway - Participants saved: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac, count=2
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Participants saved: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac, count=2
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cached: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=du0928@gmail.com
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=notification, type=NOTIFICATION_REQUEST, partitionKey=daewoong.jeon@kt.com
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.i.e.p.EventHubPublisher - 회의 생성 알림 발행 완료 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac, participants count: 2
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG c.u.h.m.biz.service.MeetingService - Meeting invitation events published: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac, participants=2
+2025-10-29 15:23:30 [http-nio-8082-exec-9] INFO c.u.h.m.biz.service.MeetingService - Meeting created successfully: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:30 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 15:23:31 [http-nio-8082-exec-9] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingParticipantEntity */insert
+ into
+ meeting_participants (attended, created_at, invitation_status, updated_at, meeting_id, user_id)
+ values
+ (?, ?, ?, ?, ?, ?)
+2025-10-29 15:23:31 [http-nio-8082-exec-9] INFO c.u.h.m.i.c.MeetingController - 회의 예약 완료 - userId: user-005, meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:31 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.createMeeting 완료 - 실행시간: 681ms
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/62071c5c-0f01-4f65-a735-5bcbf27dc7ac/start
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/62071c5c-0f01-4f65-a735-5bcbf27dc7ac/start
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 호출 - 파라미터: [62071c5c-0f01-4f65-a735-5bcbf27dc7ac, user-005, dohyunjung, dohyun.jung@example.com]
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.h.m.i.c.MeetingController - 회의 시작 요청 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac, userId: user-005
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.h.m.biz.service.MeetingService - Starting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 성공 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] WARN c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 조회 실패 (DB에서 조회) - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac, 에러: Unrecognized field "inProgress" (class com.unicorn.hgzero.meeting.biz.domain.Meeting), not marked as ignorable (13 known properties: "scheduledAt", "endTime", "organizerId", "endedAt", "status", "startedAt", "location", "meetingId", "title", "description", "purpose", "participants", "templateId"])
+ at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 428] (through reference chain: com.unicorn.hgzero.meeting.biz.domain.Meeting["inProgress"])
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - Cache miss for meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.infra.cache.CacheService - 회의 정보 캐시 저장 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ select
+ se1_0.session_id,
+ se1_0.created_at,
+ se1_0.ended_at,
+ se1_0.meeting_id,
+ se1_0.minutes_id,
+ se1_0.started_at,
+ se1_0.started_by,
+ se1_0.status,
+ se1_0.updated_at
+ from
+ sessions se1_0
+ where
+ se1_0.session_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - Session created: sessionId=5998a048-2a46-46a4-ba10-bee51f64dd62, meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - Meeting status updated to IN_PROGRESS: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.infra.cache.CacheService - 캐시 삭제 - key: meeting:62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - Meeting cache evicted: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version,
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes me1_0
+ left join
+ minutes_sections s1_0
+ on me1_0.minutes_id=s1_0.minutes_id
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - Minutes draft created: minutesId=30065ce5-2249-45bd-8be4-7c0df3372ad9, meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=meeting, type=MEETING_STARTED, partitionKey=62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG c.u.h.m.biz.service.MeetingService - MeetingStarted event published: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac, sessionId=5998a048-2a46-46a4-ba10-bee51f64dd62
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.h.m.biz.service.MeetingService - Meeting started successfully: meetingId=62071c5c-0f01-4f65-a735-5bcbf27dc7ac, sessionId=5998a048-2a46-46a4-ba10-bee51f64dd62, minutesId=30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */insert
+ into
+ sessions (created_at, ended_at, meeting_id, minutes_id, started_at, started_by, status, updated_at, session_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ /* insert for
+ com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */insert
+ into
+ minutes (created_at, created_by, finalized_at, finalized_by, meeting_id, status, title, updated_at, version, minutes_id)
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MeetingEntity */update meetings
+ set
+ description=?,
+ end_time=?,
+ ended_at=?,
+ location=?,
+ organizer_id=?,
+ purpose=?,
+ scheduled_at=?,
+ started_at=?,
+ status=?,
+ template_id=?,
+ title=?,
+ updated_at=?
+ where
+ meeting_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.SessionEntity */update sessions
+ set
+ ended_at=?,
+ meeting_id=?,
+ minutes_id=?,
+ started_at=?,
+ started_by=?,
+ status=?,
+ updated_at=?
+ where
+ session_id=?
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.h.m.i.c.MeetingController - 회의 시작 완료 - meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac, sessionId: 5998a048-2a46-46a4-ba10-bee51f64dd62
+2025-10-29 15:23:44 [http-nio-8082-exec-10] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MeetingController.startMeeting 완료 - 실행시간: 772ms
+2025-10-29 15:24:44 [reactor-executor-3] WARN c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportError","connectionId":"MF_71f49f_1761717989872","errorCondition":"amqp:connection:framing-error","errorDescription":"connection aborted","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_71f49f_1761717989872","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"connection aborted, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionUnbound","connectionId":"MF_71f49f_1761717989872","hostName":"hgzero-eventhub-ns.servicebus.windows.net","state":"CLOSED","remoteState":"ACTIVE"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_71f49f_1761717989872","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_71f49f_1761717989872","errorCondition":null,"errorDescription":null,"sessionName":"hgzero-eventhub-name"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_71f49f_1761717989872","linkName":"cbs:sender","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkFinal","connectionId":"MF_71f49f_1761717989872","linkName":"cbs:receiver","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is closed. Requesting upstream.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionFinal.","connectionId":"MF_71f49f_1761717989872","errorCondition":null,"errorDescription":null,"sessionName":"cbs-session"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionFinal","connectionId":"MF_71f49f_1761717989872","errorCondition":"amqp:resource-limit-exceeded","errorDescription":"local-idle-timeout expired","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Closing executor.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"Sender link was never active. Closing endpoint states.","connectionId":"MF_71f49f_1761717989872","linkName":"cbs","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"Receiver link was never active. Closing endpoint states","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is disposed.","connectionId":"MF_71f49f_1761717989872","entityPath":"$cbs"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_71f49f_1761717989872","errorCondition":"amqp:connection:framing-error","errorDescription":"connection aborted","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:44 [reactor-executor-3] WARN c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Unhandled exception while processing events in reactor, report this error.","exception":"java.lang.IllegalStateException","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:24:44 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"onConnectionError, Starting new reactor","exception":"java.lang.IllegalStateException, TrackingId: 21bd802c-c2b2-4b3c-890e-216dff85a739, at: 2025-10-29T15:24:44.661249+09:00[Asia/Seoul], errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]","connectionId":"MF_71f49f_1761717989872","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Processing all pending tasks and closing old reactor.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onTransportClosed","connectionId":"MF_71f49f_1761717989872","errorCondition":"amqp:connection:framing-error","errorDescription":"connection aborted","hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:48 [reactor-executor-3] WARN c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"scheduleCompletePendingTasks - exception occurred while processing events.\njava.lang.IllegalStateException\norg.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:112)\norg.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)\norg.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:292)\ncom.azure.core.amqp.implementation.ReactorExecutor.lambda$scheduleCompletePendingTasks$1(ReactorExecutor.java:158)\nreactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)\nreactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)\njava.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)\njava.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)\njava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\njava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\njava.base/java.lang.Thread.run(Thread.java:1583)Cause: null\norg.apache.qpid.proton.engine.impl.EndpointImpl.decref(EndpointImpl.java:54)\norg.apache.qpid.proton.engine.impl.TransportImpl.unbind(TransportImpl.java:315)\norg.apache.qpid.proton.reactor.impl.IOHandler.onUnhandled(IOHandler.java:387)\norg.apache.qpid.proton.engine.BaseHandler.onTransportClosed(BaseHandler.java:84)\norg.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:200)\norg.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)\norg.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)\norg.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:292)\ncom.azure.core.amqp.implementation.ReactorExecutor.lambda$scheduleCompletePendingTasks$1(ReactorExecutor.java:158)\nreactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)\nreactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)\njava.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)\njava.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)\njava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\njava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\njava.base/java.lang.Thread.run(Thread.java:1583)","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.c.a.i.ReactorDispatcher - {"az.sdk.message":"Reactor selectable is being disposed.","connectionId":"MF_71f49f_1761717989872"}
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"onConnectionShutdown. Shutting down.","connectionId":"MF_71f49f_1761717989872","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"connectionId[MF_71f49f_1761717989872] Reactor selectable is disposed.","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:48 [reactor-executor-3] ERROR reactor.core.publisher.Operators - Operator called default onErrorDropped
+reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: connection aborted, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]
+Caused by: com.azure.core.amqp.exception.AmqpException: connection aborted, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]
+ at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
+ at com.azure.core.amqp.implementation.handler.ConnectionHandler.notifyErrorContext(ConnectionHandler.java:351)
+ at com.azure.core.amqp.implementation.handler.ConnectionHandler.onTransportError(ConnectionHandler.java:253)
+ at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
+ at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
+ at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
+ at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
+ at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
+ at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
+ at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
+ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
+ at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Transient error occurred. Retrying.","exception":"connection aborted, errorContext[NAMESPACE: hgzero-eventhub-ns.servicebus.windows.net. ERROR CONTEXT: N/A]","entityPath":"hgzero-eventhub-name","tryCount":0,"interval_ms":4511}
+2025-10-29 15:24:48 [reactor-executor-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"onConnectionShutdown. Shutting down.","connectionId":"MF_71f49f_1761717989872","isTransient":false,"isInitiatedByClient":false,"shutdownMessage":"Finished processing pending tasks.","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:24:53 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Requesting from upstream.","entityPath":"hgzero-eventhub-name","tryCount":0}
+2025-10-29 15:24:53 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Connection not requested, yet. Requesting one.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:24:53 [parallel-2] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_3cbcb8_1761719093187"}
+2025-10-29 15:24:53 [parallel-2] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing POST /api/meetings/minutes/30065ce5-2249-45bd-8be4-7c0df3372ad9/finalize
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: dohyunjung (user-005)
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured POST /api/meetings/minutes/30065ce5-2249-45bd-8be4-7c0df3372ad9/finalize
+2025-10-29 15:25:13 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 호출 - 파라미터: [user-005, dohyunjung, 30065ce5-2249-45bd-8be4-7c0df3372ad9]
+2025-10-29 15:25:13 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 요청 - userId: user-005, minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:13 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:13 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Finalizing minutes: 30065ce5-2249-45bd-8be4-7c0df3372ad9 by user: user-005
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.minutes_id,
+ me1_0.created_at,
+ me1_0.created_by,
+ me1_0.finalized_at,
+ me1_0.finalized_by,
+ me1_0.meeting_id,
+ me1_0.status,
+ me1_0.title,
+ me1_0.updated_at,
+ me1_0.version
+ from
+ minutes me1_0
+ where
+ me1_0.minutes_id=?
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ s1_0.minutes_id,
+ s1_0.id,
+ s1_0.content,
+ s1_0.created_at,
+ s1_0.locked,
+ s1_0.locked_by,
+ s1_0."order",
+ s1_0.title,
+ s1_0.type,
+ s1_0.updated_at,
+ s1_0.verified
+ from
+ minutes_sections s1_0
+ where
+ s1_0.minutes_id=?
+2025-10-29 15:25:13 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* SELECT
+ m
+ FROM
+ MinutesSectionEntity m
+ WHERE
+ m.minutesId = :minutesId
+ ORDER BY
+ m.order ASC */ select
+ mse1_0.id,
+ mse1_0.content,
+ mse1_0.created_at,
+ mse1_0.locked,
+ mse1_0.locked_by,
+ mse1_0.minutes_id,
+ mse1_0."order",
+ mse1_0.title,
+ mse1_0.type,
+ mse1_0.updated_at,
+ mse1_0.verified
+ from
+ minutes_sections mse1_0
+ where
+ mse1_0.minutes_id=?
+ order by
+ mse1_0."order"
+2025-10-29 15:25:14 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes finalized successfully: 30065ce5-2249-45bd-8be4-7c0df3372ad9, version: 2
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ count(*)
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesEntity */update minutes
+ set
+ created_by=?,
+ finalized_at=?,
+ finalized_by=?,
+ meeting_id=?,
+ status=?,
+ title=?,
+ updated_at=?,
+ version=?
+ where
+ minutes_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* update
+ for com.unicorn.hgzero.meeting.infra.gateway.entity.MinutesSectionEntity */update minutes_sections
+ set
+ content=?,
+ locked=?,
+ locked_by=?,
+ minutes_id=?,
+ "order"=?,
+ title=?,
+ type=?,
+ updated_at=?,
+ verified=?
+ where
+ id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ ase1_0.id,
+ ase1_0.agenda_number,
+ ase1_0.agenda_title,
+ ase1_0.ai_summary_short,
+ ase1_0.created_at,
+ ase1_0.decisions,
+ ase1_0.discussions,
+ ase1_0.meeting_id,
+ ase1_0.minutes_id,
+ ase1_0.opinions,
+ ase1_0.pending_items,
+ ase1_0.todos,
+ ase1_0.updated_at
+ from
+ agenda_sections ase1_0
+ where
+ ase1_0.minutes_id=?
+ order by
+ ase1_0.agenda_number
+2025-10-29 15:25:14 [http-nio-8082-exec-3] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 42703
+2025-10-29 15:25:14 [http-nio-8082-exec-3] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: column ase1_0.decisions does not exist
+ Position: 118
+2025-10-29 15:25:14 [http-nio-8082-exec-3] ERROR c.u.hgzero.common.aop.LoggingAspect - [Service] com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId 실패 - 실행시간: 30ms, 에러: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+2025-10-29 15:25:14 [http-nio-8082-exec-3] ERROR c.u.h.m.i.c.MinutesController - 안건 정보 조회 실패 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+org.springframework.dao.InvalidDataAccessResourceUsageException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]; SQL [n/a]
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:277)
+ at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
+ at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
+ at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
+ at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
+ at jdk.proxy2/jdk.proxy2.$Proxy174.findByMinutesIdOrderByAgendaNumber(Unknown Source)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService.getAgendaSectionsByMinutesId(AgendaSectionService.java:33)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logService(LoggingAspect.java:86)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.biz.service.AgendaSectionService$$SpringCGLIB$$0.getAgendaSectionsByMinutesId()
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.buildAgendaInfoList(MinutesController.java:755)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.convertToMinutesDetailResponse(MinutesController.java:620)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes(MinutesController.java:240)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
+ at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
+ at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
+ at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
+ at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.finalizeMinutes()
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
+ at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
+ at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
+ at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
+ at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340)
+ at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128)
+ at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
+ at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
+ at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
+ at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
+ at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
+ at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
+ at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
+ at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
+ at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
+ at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
+ at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
+ at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
+ at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
+ at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
+ at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
+ at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
+ at java.base/java.lang.Thread.run(Thread.java:1583)
+Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [/* */ select ase1_0.id,ase1_0.agenda_number,ase1_0.agenda_title,ase1_0.ai_summary_short,ase1_0.created_at,ase1_0.decisions,ase1_0.discussions,ase1_0.meeting_id,ase1_0.minutes_id,ase1_0.opinions,ase1_0.pending_items,ase1_0.todos,ase1_0.updated_at from agenda_sections ase1_0 where ase1_0.minutes_id=? order by ase1_0.agenda_number] [ERROR: column ase1_0.decisions does not exist
+ Position: 118] [n/a]
+ at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
+ at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
+ at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:264)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:167)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.advanceNext(JdbcValuesResultSetImpl.java:265)
+ at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.processNext(JdbcValuesResultSetImpl.java:145)
+ at org.hibernate.sql.results.jdbc.internal.AbstractJdbcValues.next(AbstractJdbcValues.java:19)
+ at org.hibernate.sql.results.internal.RowProcessingStateStandardImpl.next(RowProcessingStateStandardImpl.java:67)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:204)
+ at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:211)
+ at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:83)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:76)
+ at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:65)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:139)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:382)
+ at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:302)
+ at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:526)
+ at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:423)
+ at org.hibernate.query.Query.getResultList(Query.java:120)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129)
+ at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:152)
+ at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:140)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170)
+ at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:169)
+ at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:148)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:70)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
+ at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
+ ... 187 common frames omitted
+Caused by: org.postgresql.util.PSQLException: ERROR: column ase1_0.decisions does not exist
+ Position: 118
+ at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
+ at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
+ at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
+ at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
+ at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
+ at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
+ at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
+ at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
+ at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
+ at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:246)
+ ... 219 common frames omitted
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ te1_0.todo_id,
+ te1_0.assignee_id,
+ te1_0.completed_at,
+ te1_0.created_at,
+ te1_0.description,
+ te1_0.due_date,
+ te1_0.meeting_id,
+ te1_0.minutes_id,
+ te1_0.priority,
+ te1_0.status,
+ te1_0.title,
+ te1_0.updated_at
+ from
+ todos te1_0
+ where
+ te1_0.minutes_id=?
+2025-10-29 15:25:14 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9, totalCount: 0
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ me1_0.meeting_id,
+ me1_0.created_at,
+ me1_0.description,
+ me1_0.end_time,
+ me1_0.ended_at,
+ me1_0.location,
+ me1_0.organizer_id,
+ me1_0.purpose,
+ me1_0.scheduled_at,
+ me1_0.started_at,
+ me1_0.status,
+ me1_0.template_id,
+ me1_0.title,
+ me1_0.updated_at
+ from
+ meetings me1_0
+ where
+ me1_0.meeting_id=?
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ select
+ p1_0.meeting_id,
+ p1_0.user_id,
+ p1_0.attended,
+ p1_0.created_at,
+ p1_0.invitation_status,
+ p1_0.updated_at
+ from
+ meeting_participants p1_0
+ where
+ p1_0.meeting_id=?
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.MinutesController - 캐시에 확정된 회의록 저장 완료 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 목록 캐시 삭제 - userId: user-005
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Creating and starting connection.","connectionId":"MF_3cbcb8_1761719093187","hostName":"hgzero-eventhub-ns.servicebus.windows.net","port":5671}
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.a.c.a.i.ReactorExecutor - {"az.sdk.message":"Starting reactor.","connectionId":"MF_3cbcb8_1761719093187"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionInit","connectionId":"MF_3cbcb8_1761719093187","hostName":"hgzero-eventhub-ns.servicebus.windows.net","namespace":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ReactorHandler - {"az.sdk.message":"reactor.onReactorInit","connectionId":"MF_3cbcb8_1761719093187"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionLocalOpen","connectionId":"MF_3cbcb8_1761719093187","errorCondition":null,"errorDescription":null,"hostName":"hgzero-eventhub-ns.servicebus.windows.net"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionBound","connectionId":"MF_3cbcb8_1761719093187","hostName":"hgzero-eventhub-ns.servicebus.windows.net","peerDetails":"hgzero-eventhub-ns.servicebus.windows.net:5671"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ConnectionHandler - {"az.sdk.message":"onConnectionRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","hostName":"hgzero-eventhub-ns.servicebus.windows.net","remoteContainer":"981ecbc9cad64c2380fd6bc6774fe004_G8"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is now active.","entityPath":"hgzero-eventhub-name"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","sessionName":"hgzero-eventhub-name","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Setting CBS channel.","connectionId":"MF_3cbcb8_1761719093187"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.SessionHandler - {"az.sdk.message":"onSessionRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","sessionName":"cbs-session","sessionIncCapacity":0,"sessionOutgoingWindow":2147483647}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Emitting new response channel.","connectionId":"MF_3cbcb8_1761719093187","entityPath":"$cbs","linkName":"cbs"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Setting next AMQP channel.","connectionId":"MF_3cbcb8_1761719093187","entityPath":"$cbs"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Next AMQP channel received.","connectionId":"MF_3cbcb8_1761719093187","entityPath":"$cbs","subscriberId":"un_118f6c_1761719115522"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","linkName":"cbs:sender","entityPath":"$cbs","remoteTarget":"Target{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Channel is now active.","connectionId":"MF_3cbcb8_1761719093187","entityPath":"$cbs"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.ReceiveLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","entityPath":"$cbs","linkName":"cbs:receiver","remoteSource":"Source{address='$cbs', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.ActiveClientTokenManager - {"az.sdk.message":"Scheduling refresh token task.","scopes":"amqp://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.ReactorSession - {"az.sdk.message":"Creating a new send link.","connectionId":"MF_3cbcb8_1761719093187","linkName":"hgzero-eventhub-name","sessionName":"hgzero-eventhub-name"}
+2025-10-29 15:25:15 [reactor-executor-4] INFO c.a.c.a.i.handler.SendLinkHandler - {"az.sdk.message":"onLinkRemoteOpen","connectionId":"MF_3cbcb8_1761719093187","linkName":"hgzero-eventhub-name","entityPath":"hgzero-eventhub-name","remoteTarget":"Target{address='hgzero-eventhub-name', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}"}
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:15 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL -
+ /* */ select
+ mpe1_0.meeting_id,
+ mpe1_0.user_id,
+ mpe1_0.attended,
+ mpe1_0.created_at,
+ mpe1_0.invitation_status,
+ mpe1_0.updated_at
+ from
+ meeting_participants mpe1_0
+ where
+ mpe1_0.meeting_id=?
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.h.m.i.e.p.EventHubPublisher - 이벤트 발행 완료: topic=minutes, type=MINUTES_FINALIZED, partitionKey=30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.h.m.i.e.p.EventHubPublisher - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9, meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - RAG용 회의록 확정 이벤트 발행 완료 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9, meetingId: 62071c5c-0f01-4f65-a735-5bcbf27dc7ac
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 확정 성공 - minutesId: 30065ce5-2249-45bd-8be4-7c0df3372ad9
+2025-10-29 15:25:15 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.finalizeMinutes 완료 - 실행시간: 2062ms
diff --git a/rag/check_active_consumers.py b/rag/check_active_consumers.py
new file mode 100644
index 0000000..e38ba26
--- /dev/null
+++ b/rag/check_active_consumers.py
@@ -0,0 +1,191 @@
+"""
+Event Hub의 활성 Consumer(host) 조회 스크립트
+
+Blob Storage의 ownership 정보를 통해 현재 어떤 Consumer가
+어떤 파티션을 읽고 있는지 확인합니다.
+"""
+import asyncio
+import json
+from datetime import datetime, timezone
+from pathlib import Path
+from azure.storage.blob import BlobServiceClient
+from src.utils.config import load_config
+
+
+async def check_active_consumers():
+ """활성 Consumer 조회"""
+
+ # 설정 로드
+ config_path = Path(__file__).parent / "config.yaml"
+ config = load_config(str(config_path))
+
+ eventhub_config = config['eventhub']
+ storage_conn_str = eventhub_config['storage']['connection_string']
+ container_name = eventhub_config['storage']['container_name']
+ consumer_group = eventhub_config['consumer_group']
+
+ print("=" * 80)
+ print("📊 Event Hub Active Consumers")
+ print("=" * 80)
+ print(f"Consumer Group: {consumer_group}")
+ print(f"Container: {container_name}")
+ print()
+
+ # Blob Service Client 생성
+ blob_service = BlobServiceClient.from_connection_string(storage_conn_str)
+ container_client = blob_service.get_container_client(container_name)
+
+ # Ownership blob 조회 (파티션 소유권 정보)
+ ownership_prefix = f"{consumer_group}/ownership/"
+ checkpoint_prefix = f"{consumer_group}/checkpoint/"
+
+ print("-" * 80)
+ print("🔍 Ownership 정보 (현재 파티션을 읽고 있는 Consumer)")
+ print("-" * 80)
+
+ ownership_blobs = container_client.list_blobs(name_starts_with=ownership_prefix)
+ active_consumers = {}
+ partition_owners = {}
+
+ for blob in ownership_blobs:
+ # Blob 내용 읽기
+ blob_client = container_client.get_blob_client(blob.name)
+ content = blob_client.download_blob().readall()
+
+ try:
+ ownership_data = json.loads(content)
+
+ partition_id = blob.name.split('/')[-1]
+ owner_id = ownership_data.get('ownerIdentifier', 'unknown')
+ last_modified = blob.last_modified
+
+ # 현재 시간과 비교하여 활성 상태 확인 (30초 이내 갱신되었으면 활성)
+ now = datetime.now(timezone.utc)
+ time_diff = (now - last_modified).total_seconds()
+ is_active = time_diff < 60 # 60초 이내면 활성으로 간주
+
+ partition_owners[partition_id] = {
+ 'owner_id': owner_id,
+ 'last_modified': last_modified,
+ 'is_active': is_active,
+ 'time_diff': time_diff
+ }
+
+ # Consumer별 집계
+ if owner_id not in active_consumers:
+ active_consumers[owner_id] = {
+ 'partitions': [],
+ 'last_seen': last_modified,
+ 'is_active': is_active
+ }
+
+ active_consumers[owner_id]['partitions'].append(partition_id)
+
+ # 가장 최근 시간으로 업데이트
+ if last_modified > active_consumers[owner_id]['last_seen']:
+ active_consumers[owner_id]['last_seen'] = last_modified
+ active_consumers[owner_id]['is_active'] = is_active
+
+ except json.JSONDecodeError:
+ print(f"⚠️ 파티션 {partition_id}: 파싱 실패")
+ continue
+
+ # 파티션별 출력
+ if partition_owners:
+ print()
+ for partition_id, info in sorted(partition_owners.items()):
+ status = "🟢 ACTIVE" if info['is_active'] else "🔴 INACTIVE"
+ print(f"파티션 {partition_id}:")
+ print(f" 상태: {status}")
+ print(f" Owner ID: {info['owner_id'][:40]}...")
+ print(f" 마지막 갱신: {info['last_modified'].strftime('%Y-%m-%d %H:%M:%S')} UTC")
+ print(f" 경과 시간: {int(info['time_diff'])}초 전")
+ print()
+ else:
+ print("⚠️ 소유권 정보가 없습니다. Consumer가 실행되지 않았을 수 있습니다.")
+ print()
+
+ # Consumer별 요약
+ print("-" * 80)
+ print("📋 Consumer 요약")
+ print("-" * 80)
+
+ if active_consumers:
+ for idx, (owner_id, info) in enumerate(active_consumers.items(), 1):
+ status = "🟢 ACTIVE" if info['is_active'] else "🔴 INACTIVE"
+ print(f"\nConsumer #{idx} {status}")
+ print(f" Owner ID: {owner_id}")
+ print(f" 소유 파티션: {', '.join(info['partitions'])}")
+ print(f" 파티션 개수: {len(info['partitions'])}")
+ print(f" 마지막 활동: {info['last_seen'].strftime('%Y-%m-%d %H:%M:%S')} UTC")
+ else:
+ print("\n활성 Consumer가 없습니다.")
+
+ # Checkpoint 정보 조회
+ print()
+ print("-" * 80)
+ print("📍 Checkpoint 정보 (마지막 읽은 위치)")
+ print("-" * 80)
+
+ checkpoint_blobs = container_client.list_blobs(name_starts_with=checkpoint_prefix)
+
+ for blob in checkpoint_blobs:
+ blob_client = container_client.get_blob_client(blob.name)
+ content = blob_client.download_blob().readall()
+
+ try:
+ checkpoint_data = json.loads(content)
+
+ partition_id = blob.name.split('/')[-1]
+ offset = checkpoint_data.get('offset', 'N/A')
+ sequence_number = checkpoint_data.get('sequenceNumber', 'N/A')
+
+ print(f"\n파티션 {partition_id}:")
+ print(f" Offset: {offset}")
+ print(f" Sequence Number: {sequence_number}")
+
+ except json.JSONDecodeError:
+ continue
+
+ print()
+ print("=" * 80)
+
+ # 모든 Consumer Group 조회
+ print()
+ print("-" * 80)
+ print("📂 모든 Consumer Groups")
+ print("-" * 80)
+
+ all_blobs = container_client.list_blobs()
+ consumer_groups = set()
+
+ for blob in all_blobs:
+ # Consumer Group 이름은 첫 번째 경로 세그먼트
+ parts = blob.name.split('/')
+ if len(parts) > 0:
+ consumer_groups.add(parts[0])
+
+ if consumer_groups:
+ print()
+ for cg in sorted(consumer_groups):
+ current = " ⬅️ 현재" if cg == consumer_group else ""
+ print(f" - {cg}{current}")
+ else:
+ print("\nConsumer Group 정보가 없습니다.")
+
+ print()
+ print("=" * 80)
+
+
+def main():
+ """메인 함수"""
+ try:
+ asyncio.run(check_active_consumers())
+ except Exception as e:
+ print(f"❌ 에러 발생: {str(e)}")
+ import traceback
+ traceback.print_exc()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/rag/config.yaml b/rag/config.yaml
index bf8ffe7..449119f 100644
--- a/rag/config.yaml
+++ b/rag/config.yaml
@@ -51,7 +51,7 @@ eventhub:
# Application Settings
app:
- name: "Vector DB Service"
+ name: "RAG Service"
version: "1.0.0"
debug: true
log_level: INFO
@@ -84,6 +84,19 @@ related_documents:
ttl: 3600 # 1시간
prefix: "doc:"
+# RAG 회의록 설정
+rag_minutes:
+ # 검색 설정
+ search:
+ top_k: 5
+ similarity_threshold: 0.7
+
+ # 캐싱 설정 (full_content 조회 결과 캐싱)
+ cache:
+ ttl: 1800 # 30분 (회의록은 변경이 적으므로 짧게 설정)
+ prefix: "minutes:"
+ related_ttl: 3600 # 연관 회의록 검색 결과는 1시간
+
# 데이터 로딩
data:
terms_dir: design/aidata
diff --git a/rag/docs/api-related-minutes.md b/rag/docs/api-related-minutes.md
new file mode 100644
index 0000000..3f97195
--- /dev/null
+++ b/rag/docs/api-related-minutes.md
@@ -0,0 +1,291 @@
+# 연관 회의록 조회 API 구현 문서
+
+## 📋 개요
+
+**준호** (Backend Developer)
+
+회의록 ID를 기준으로 유사한 연관 회의록을 조회하는 API를 구현했습니다.
+
+## 🎯 구현 방식: Option A (DB 조회 후 벡터 검색)
+
+### 선택 이유
+- ✅ **정확도 우선**: full_content 기반 검색으로 높은 정확도 보장
+- ✅ **확장성**: 향후 full_content 기반 추가 기능 확장 용이
+- ✅ **성능 최적화**: Redis 캐싱으로 DB 조회 오버헤드 최소화
+
+### 처리 흐름
+
+```
+1. 요청 수신
+ ↓
+2. Redis 캐시 조회 (연관 회의록 결과)
+ ├─ HIT → 즉시 반환
+ └─ MISS → 3단계로 진행
+ ↓
+3. Redis 캐시 조회 (회의록 full_content)
+ ├─ HIT → 5단계로 진행
+ └─ MISS → 4단계로 진행
+ ↓
+4. DB 조회 (rag_minutes 테이블)
+ ├─ full_content 획득
+ └─ Redis에 캐싱 (TTL: 30분)
+ ↓
+5. 벡터 임베딩 생성 (Azure OpenAI)
+ ↓
+6. 벡터 유사도 검색 (자기 자신 제외)
+ ↓
+7. 결과 Redis 캐싱 (TTL: 1시간)
+ ↓
+8. 응답 반환
+```
+
+## 🔧 구현 상세
+
+### 1. 데이터 모델 추가
+
+**파일**: `rag/src/models/minutes.py`
+
+```python
+class RelatedMinutesRequest(BaseModel):
+ """연관 회의록 조회 요청"""
+ minute_id: str # 기준 회의록 ID
+ meeting_title: str # 회의 제목 (현재 미사용)
+ summary: str # 회의록 요약 (현재 미사용)
+ top_k: int = 5 # 반환할 최대 결과 수
+ similarity_threshold: float = 0.7 # 최소 유사도 임계값
+
+class RelatedMinutesResponse(BaseModel):
+ """연관 회의록 조회 응답"""
+ minutes: RagMinutes # 회의록 정보
+ similarity_score: float # 유사도 점수 (0.0 ~ 1.0)
+```
+
+### 2. DB 쿼리 함수 개선
+
+**파일**: `rag/src/db/rag_minutes_db.py`
+
+**수정 내용**: `search_by_vector()` 함수에 `exclude_minutes_id` 파라미터 추가
+
+```python
+def search_by_vector(
+ self,
+ query_embedding: List[float],
+ top_k: int = 5,
+ similarity_threshold: float = 0.7,
+ exclude_minutes_id: Optional[str] = None # 자기 자신 제외
+) -> List[Dict[str, Any]]:
+ """벡터 유사도 검색"""
+ # WHERE 절에 minutes_id != %s 조건 추가
+ # 자기 자신을 결과에서 제외
+```
+
+### 3. Redis 캐싱 유틸리티 구현
+
+**파일**: `rag/src/utils/redis_cache.py`
+
+**주요 기능**:
+- `get(key)`: 캐시 조회
+- `set(key, value, ttl)`: 캐시 저장
+- `delete(key)`: 캐시 삭제
+- `delete_pattern(pattern)`: 패턴 매칭 일괄 삭제
+
+**특징**:
+- Redis 연결 실패 시 자동으로 캐싱 비활성화 (서비스 장애 방지)
+- JSON 직렬화/역직렬화 자동 처리
+
+### 4. 설정 추가
+
+**파일**: `rag/config.yaml`
+
+```yaml
+rag_minutes:
+ search:
+ top_k: 5
+ similarity_threshold: 0.7
+ cache:
+ ttl: 1800 # 회의록 조회 결과: 30분
+ prefix: "minutes:"
+ related_ttl: 3600 # 연관 회의록 검색 결과: 1시간
+```
+
+### 5. API 엔드포인트 구현
+
+**파일**: `rag/src/api/main.py`
+
+**엔드포인트**: `POST /api/minutes/related`
+
+**Request Body**:
+```json
+{
+ "minute_id": "MIN-2025-001",
+ "meeting_title": "2025 Q1 마케팅 전략 회의",
+ "summary": "2025년 1분기 마케팅 전략 수립을 위한 회의",
+ "top_k": 5,
+ "similarity_threshold": 0.7
+}
+```
+
+**Response**:
+```json
+[
+ {
+ "minutes": {
+ "meeting_id": "MTG-2024-050",
+ "title": "2024 Q4 마케팅 성과 분석",
+ "minutes_id": "MIN-2024-050",
+ "full_content": "...",
+ ...
+ },
+ "similarity_score": 0.85
+ },
+ ...
+]
+```
+
+## ⚡ 성능 최적화
+
+### 2단계 캐싱 전략
+
+1. **회의록 조회 결과 캐싱** (TTL: 30분)
+ - 키: `minutes:{minute_id}`
+ - DB 조회 횟수 감소
+
+2. **연관 회의록 검색 결과 캐싱** (TTL: 1시간)
+ - 키: `minutes:related:{minute_id}:{top_k}:{threshold}`
+ - 벡터 검색 및 임베딩 생성 비용 절감
+
+### 예상 성능 개선
+
+| 케이스 | 처리 시간 | 비고 |
+|--------|----------|------|
+| 캐시 MISS (최초 요청) | ~2-3초 | DB 조회 + 임베딩 생성 + 벡터 검색 |
+| 회의록 캐시 HIT | ~1-2초 | 임베딩 생성 + 벡터 검색 |
+| 연관 회의록 캐시 HIT | ~50ms | 캐시에서 즉시 반환 |
+
+## 🔍 사용 예시
+
+### Python (requests)
+
+```python
+import requests
+
+url = "http://localhost:8000/api/minutes/related"
+data = {
+ "minute_id": "MIN-2025-001",
+ "meeting_title": "2025 Q1 마케팅 전략 회의",
+ "summary": "2025년 1분기 마케팅 전략 수립",
+ "top_k": 5,
+ "similarity_threshold": 0.7
+}
+
+response = requests.post(url, json=data)
+related_minutes = response.json()
+
+for item in related_minutes:
+ print(f"제목: {item['minutes']['title']}")
+ print(f"유사도: {item['similarity_score']:.2f}")
+ print("---")
+```
+
+### curl
+
+```bash
+curl -X POST "http://localhost:8000/api/minutes/related" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "minute_id": "MIN-2025-001",
+ "meeting_title": "2025 Q1 마케팅 전략 회의",
+ "summary": "2025년 1분기 마케팅 전략 수립",
+ "top_k": 5,
+ "similarity_threshold": 0.7
+ }'
+```
+
+## 🧪 테스트 시나리오
+
+### 1. 정상 케이스
+- ✅ 존재하는 minute_id로 요청
+- ✅ 유사한 회의록 5개 반환
+- ✅ 자기 자신은 결과에서 제외
+
+### 2. 캐싱 동작 확인
+- ✅ 최초 요청: 캐시 MISS → DB 조회
+- ✅ 2번째 요청: 캐시 HIT → 즉시 반환
+- ✅ TTL 경과 후: 캐시 MISS → 재조회
+
+### 3. 에러 케이스
+- ❌ 존재하지 않는 minute_id → 404 오류
+- ❌ 잘못된 요청 형식 → 422 오류
+
+## 📊 데이터베이스 영향
+
+### 쿼리 패턴
+
+```sql
+-- 1. 회의록 조회 (캐시 MISS 시)
+SELECT * FROM rag_minutes WHERE minutes_id = 'MIN-2025-001';
+
+-- 2. 벡터 유사도 검색 (캐시 MISS 시)
+SELECT *,
+ 1 - (embedding <=> '{vector}'::vector) as similarity_score
+FROM rag_minutes
+WHERE embedding IS NOT NULL
+ AND 1 - (embedding <=> '{vector}'::vector) >= 0.7
+ AND minutes_id != 'MIN-2025-001' -- 자기 자신 제외
+ORDER BY embedding <=> '{vector}'::vector
+LIMIT 5;
+```
+
+### 인덱스 활용
+
+- `minutes_id`: Primary Key 인덱스 활용
+- `embedding`: pgvector 인덱스 활용 (IVFFlat 또는 HNSW)
+
+## 🔐 보안 고려사항
+
+1. **SQL Injection 방지**: psycopg2 파라미터 바인딩 사용
+2. **Rate Limiting**: 향후 추가 권장 (분당 요청 수 제한)
+3. **인증/인가**: 향후 JWT 토큰 기반 인증 추가 권장
+
+## 🚀 향후 개선 사항
+
+### 1. Hybrid 검색 지원 (Option B 통합)
+- summary를 활용한 빠른 1차 검색
+- full_content로 정밀한 2차 검색
+- 적응형 임계값 조정
+
+### 2. 성능 모니터링
+- 캐시 히트율 추적
+- API 응답 시간 측정
+- 벡터 검색 성능 분석
+
+### 3. 검색 품질 개선
+- 시간 가중치 적용 (최근 회의록 우선)
+- 부서/팀별 필터링 옵션
+- 주제별 카테고리 분류
+
+## 📝 파일 변경 목록
+
+| 파일 | 변경 유형 | 설명 |
+|------|----------|------|
+| `rag/src/models/minutes.py` | 수정 | Request/Response 모델 추가 |
+| `rag/src/db/rag_minutes_db.py` | 수정 | exclude_minutes_id 파라미터 추가 |
+| `rag/src/utils/redis_cache.py` | 신규 | Redis 캐싱 유틸리티 |
+| `rag/src/api/main.py` | 수정 | API 엔드포인트 추가 |
+| `rag/config.yaml` | 수정 | rag_minutes 설정 추가 |
+
+## ✅ 구현 완료 체크리스트
+
+- [x] Request/Response 모델 정의
+- [x] DB 쿼리 함수 개선 (자기 자신 제외)
+- [x] Redis 캐싱 유틸리티 구현
+- [x] API 엔드포인트 구현
+- [x] 2단계 캐싱 전략 적용
+- [x] 설정 파일 업데이트
+- [x] 문서 작성
+
+---
+
+**작성자**: 준호 (Backend Developer)
+**작성일**: 2025-10-29
+**버전**: 1.0.0
diff --git a/rag/docs/basic_tier_workaround.md b/rag/docs/basic_tier_workaround.md
new file mode 100644
index 0000000..2f2c6a6
--- /dev/null
+++ b/rag/docs/basic_tier_workaround.md
@@ -0,0 +1,356 @@
+# Event Hub Basic Tier 제약사항 및 해결 방법
+
+## 현재 상황
+
+```
+Event Hub Namespace: hgzero-eventhub-ns
+Resource Group: rg-digitalgarage-02
+Location: koreacentral
+Tier: Basic ⚠️
+Status: Active
+```
+
+## Basic Tier 제약사항
+
+| 기능 | Basic | Standard | Premium |
+|------|-------|----------|---------|
+| **Consumer Groups** | **1개만** ($Default) | **최대 20개** | 최대 100개 |
+| 파티션 | 최대 32개 | 최대 32개 | 최대 100개 |
+| 메시지 보존 | 1일 | 7일 | 90일 |
+| Capture | ❌ | ✅ | ✅ |
+| 가격 | 낮음 | 중간 | 높음 |
+
+**Basic Tier에서는 `$Default` Consumer Group만 사용할 수 있습니다.**
+
+---
+
+## 해결 방법
+
+### 방법 1: Tier 업그레이드 (권장) ⭐️
+
+Event Hub를 Basic → Standard로 업그레이드하면 최대 20개의 Consumer Group 사용 가능
+
+#### 업그레이드 방법
+
+**Azure Portal:**
+1. Event Hub Namespace (hgzero-eventhub-ns) 페이지로 이동
+2. 왼쪽 메뉴에서 "Pricing tier" 클릭
+3. "Standard" 선택
+4. "Apply" 버튼 클릭
+5. 약 1-2분 후 적용 완료
+
+**Azure CLI:**
+```bash
+az eventhubs namespace update \
+ --resource-group rg-digitalgarage-02 \
+ --name hgzero-eventhub-ns \
+ --sku Standard \
+ --capacity 1
+```
+
+**비용:**
+- Basic: ~$0.015/시간 (~$11/월)
+- Standard: ~$0.03/시간 (~$22/월)
+- 차이: 약 $11/월 추가
+
+**장점:**
+- ✅ 여러 Consumer Group 사용 가능
+- ✅ 메시지 보존 기간 7일로 증가
+- ✅ Capture 기능 사용 가능
+- ✅ 영구적 해결책
+
+**단점:**
+- ❌ 비용 증가 (약 2배)
+- ❌ 관리자 승인 필요할 수 있음
+
+---
+
+### 방법 2: $Default Consumer Group 공유 사용 (임시)
+
+개발/테스트 시 기존 프로덕션 Consumer를 잠시 중지하고 테스트
+
+#### 실행 순서
+
+**Step 1: 프로덕션 Consumer 중지**
+```bash
+# 기존 Consumer 프로세스 확인
+ps aux | grep "start_consumer.py" | grep -v grep
+
+# PID 확인 후 종료
+kill
+
+# 예시
+kill 51257
+```
+
+**Step 2: 테스트 Consumer 실행**
+```bash
+cd /Users/daewoong/home/workspace/HGZero/rag
+python start_consumer.py
+```
+
+**Step 3: 테스트 완료 후 프로덕션 재시작**
+```bash
+# Ctrl+C로 테스트 Consumer 종료
+
+# 프로덕션 Consumer 재시작
+python start_consumer.py &
+```
+
+**장점:**
+- ✅ 추가 비용 없음
+- ✅ 즉시 테스트 가능
+- ✅ 권한 불필요
+
+**단점:**
+- ❌ 프로덕션 서비스 중단
+- ❌ 동시 실행 불가
+- ❌ 임시 방법
+
+**주의사항:**
+- ⚠️ 프로덕션 환경에서만 사용 중이라면 비추천
+- ⚠️ 업무 시간 외에만 테스트
+- ⚠️ 테스트 후 반드시 프로덕션 재시작 확인
+
+---
+
+### 방법 3: Checkpoint 위치 변경으로 독립 실행
+
+동일한 Consumer Group을 사용하되, checkpoint 저장 위치를 다르게 하여 독립적으로 실행
+
+#### 구현 방법
+
+**Step 1: 별도 Storage Container 생성**
+
+Azure Portal:
+1. Storage Account (hgzerostorage) 접속
+2. "Containers" 클릭
+3. "+ Container" 클릭
+4. 이름: `hgzero-checkpoints-dev`
+5. Create
+
+**Step 2: config_dev.yaml 생성**
+
+```yaml
+# config_dev.yaml
+eventhub:
+ connection_string: ${EVENTHUB_CONNECTION_STRING}
+ name: ${EVENTHUB_NAME}
+ consumer_group: "$Default" # 동일
+ storage:
+ connection_string: ${AZURE_STORAGE_CONNECTION_STRING}
+ container_name: "hgzero-checkpoints-dev" # 다른 컨테이너!
+
+# 나머지는 config.yaml과 동일
+```
+
+**Step 3: 개발용 Consumer 실행 스크립트**
+
+```python
+# start_dev_consumer.py
+import asyncio
+from pathlib import Path
+
+from src.utils.config import load_config
+from src.db.rag_minutes_db import RagMinutesDB
+from src.db.postgres_vector import PostgresVectorDB
+from src.utils.embedding import EmbeddingGenerator
+from src.services.eventhub_consumer import start_consumer
+
+async def main():
+ # 개발용 설정 파일 로드
+ config_path = Path(__file__).parent / "config_dev.yaml"
+ config = load_config(str(config_path))
+
+ # ... 나머지는 start_consumer.py와 동일
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+**Step 4: 실행**
+
+```bash
+# Terminal 1: 프로덕션 Consumer
+python start_consumer.py
+
+# Terminal 2: 개발 Consumer (다른 checkpoint)
+python start_dev_consumer.py
+```
+
+**장점:**
+- ✅ 동시 실행 가능
+- ✅ 독립적인 checkpoint
+- ✅ 추가 비용 거의 없음 (Storage만)
+- ✅ Tier 업그레이드 불필요
+
+**단점:**
+- ❌ 동일 파티션을 두 Consumer가 읽으려 하면 ownership 경쟁
+- ❌ 한쪽만 이벤트 수신 (ownership을 가진 쪽)
+- ❌ 완전한 독립 실행은 아님
+
+**결론:**
+- 이 방법은 **checkpoint만 독립**이고, **여전히 ownership 경쟁** 발생
+- **동시 실행은 불가능**
+- 권장하지 않음 ❌
+
+---
+
+### 방법 4: 로컬 개발 환경에서만 테스트
+
+Event Hub 대신 로컬 메시지 큐 사용
+
+#### 옵션 A: Azure Event Hub Emulator (권장)
+
+현재는 공식 Emulator가 없으므로, Kafka나 RabbitMQ로 대체
+
+#### 옵션 B: 메모리 큐로 테스트
+
+```python
+# test_consumer_local.py
+import asyncio
+import json
+from queue import Queue
+
+# 로컬 메모리 큐
+local_queue = Queue()
+
+async def test_event_processing():
+ """로컬에서 이벤트 처리 로직만 테스트"""
+
+ # 테스트 이벤트 생성
+ test_event = {
+ 'eventType': 'MINUTES_FINALIZED',
+ 'data': {
+ 'meetingId': 'test-001',
+ 'title': '테스트 회의',
+ 'minutesId': 'minutes-001',
+ 'sections': []
+ }
+ }
+
+ # Consumer의 _process_minutes_event 로직만 테스트
+ from src.services.eventhub_consumer import EventHubConsumer
+
+ # 실제 처리 로직 테스트
+ # ...
+
+asyncio.run(test_event_processing())
+```
+
+**장점:**
+- ✅ 완전 독립 실행
+- ✅ 무료
+- ✅ 빠른 테스트
+
+**단점:**
+- ❌ 실제 Event Hub와 다른 환경
+- ❌ 통합 테스트 불가
+
+---
+
+## 권장 솔루션
+
+### 개발 단계별 권장 방법
+
+| 단계 | 권장 방법 | 이유 |
+|------|----------|------|
+| **로컬 개발** | 방법 4 (메모리 큐) | 빠르고 비용 없음 |
+| **통합 테스트** | 방법 2 ($Default 공유) | 실제 환경, 단기간 |
+| **지속적 개발** | 방법 1 (Tier 업그레이드) | 영구 해결, 동시 실행 |
+| **프로덕션** | 방법 1 (Standard Tier) | 고가용성, 확장성 |
+
+### 최종 권장: Tier 업그레이드
+
+**이유:**
+1. ✅ 여러 Consumer Group으로 개발/테스트 분리
+2. ✅ 메시지 보존 기간 증가 (1일 → 7일)
+3. ✅ 향후 확장 가능 (Capture 등)
+4. ✅ 프로덕션 안정성 향상
+
+**비용 대비 효과:**
+- 월 $11 추가로 개발 생산성 향상
+- 프로덕션 중단 없이 테스트 가능
+- 장기적으로 더 경제적
+
+---
+
+## 실행 가이드
+
+### 즉시 테스트가 필요한 경우 (방법 2)
+
+```bash
+# 1. 프로덕션 Consumer 중지
+ps aux | grep "start_consumer.py" | grep -v grep
+kill
+
+# 2. 테스트 실행
+cd /Users/daewoong/home/workspace/HGZero/rag
+python start_consumer.py
+
+# 3. 테스트 완료 후
+# Ctrl+C로 종료
+
+# 4. 프로덕션 재시작
+python start_consumer.py &
+```
+
+### Tier 업그레이드 후 (방법 1)
+
+```bash
+# 1. Tier 업그레이드 (Azure Portal 또는 CLI)
+az eventhubs namespace update \
+ --resource-group rg-digitalgarage-02 \
+ --name hgzero-eventhub-ns \
+ --sku Standard
+
+# 2. Consumer Group 생성
+az eventhubs eventhub consumer-group create \
+ --resource-group rg-digitalgarage-02 \
+ --namespace-name hgzero-eventhub-ns \
+ --eventhub-name hgzero-eventhub-name \
+ --name development
+
+# 3. config.yaml 수정
+# consumer_group: "development"
+
+# 4. 프로덕션은 계속 실행, 개발 Consumer 별도 실행
+python start_consumer.py
+```
+
+---
+
+## 요약
+
+### 현재 상황
+- ❌ Event Hub Tier: **Basic**
+- ❌ Consumer Group: **$Default만 사용 가능**
+- ❌ 추가 Consumer Group 생성 불가
+
+### 해결책
+1. **단기**: 프로덕션 Consumer 잠시 중지하고 테스트 (방법 2)
+2. **장기**: Standard Tier로 업그레이드 (방법 1) ⭐️
+
+### 다음 액션
+관리자에게 **Tier 업그레이드** 요청하거나,
+긴급하다면 **프로덕션 중지 후 테스트** 진행
+
+---
+
+## 참고: Tier 비교
+
+```
+Basic Tier (현재)
+├─ Consumer Groups: 1개 ($Default만)
+├─ 보존 기간: 1일
+├─ 비용: ~$11/월
+└─ ❌ 개발/테스트 분리 불가
+
+Standard Tier (권장)
+├─ Consumer Groups: 최대 20개 ✅
+├─ 보존 기간: 7일
+├─ 비용: ~$22/월 (+$11)
+└─ ✅ 개발/테스트 완전 분리
+```
+
+Standard Tier로 업그레이드하는 것을 강력히 권장합니다! 🎯
diff --git a/rag/docs/check_consumers_guide.md b/rag/docs/check_consumers_guide.md
new file mode 100644
index 0000000..58def93
--- /dev/null
+++ b/rag/docs/check_consumers_guide.md
@@ -0,0 +1,367 @@
+# Event Hub Active Consumers 조회 가이드
+
+## 개요
+
+Event Hub를 현재 읽고 있는 Consumer(host)를 확인하는 방법을 설명합니다.
+
+## 방법 1: 제공된 스크립트 사용 (가장 쉬움) ⭐️
+
+### 실행
+
+```bash
+cd /Users/daewoong/home/workspace/HGZero/rag
+python check_active_consumers.py
+```
+
+### 출력 정보
+
+```
+📊 Event Hub Active Consumers
+================================================================================
+Consumer Group: $Default
+Container: hgzero-checkpoints
+
+🔍 Ownership 정보 (현재 파티션을 읽고 있는 Consumer)
+--------------------------------------------------------------------------------
+파티션 0:
+ 상태: 🟢 ACTIVE
+ Owner ID: 73fda457-b555-4af5-873a-54a2baa5fd95...
+ 마지막 갱신: 2025-10-29 12:35:42 UTC
+ 경과 시간: 15초 전
+
+📋 Consumer 요약
+--------------------------------------------------------------------------------
+Consumer #1 🟢 ACTIVE
+ Owner ID: 73fda457-b555-4af5-873a-54a2baa5fd95
+ 소유 파티션: 0
+ 파티션 개수: 1
+ 마지막 활동: 2025-10-29 12:35:42 UTC
+
+📍 Checkpoint 정보 (마지막 읽은 위치)
+--------------------------------------------------------------------------------
+파티션 0:
+ Offset: 120259090624
+ Sequence Number: 232
+```
+
+---
+
+## 방법 2: Python 코드로 직접 조회
+
+### 스크립트 예시
+
+```python
+import asyncio
+import json
+from datetime import datetime, timezone
+from pathlib import Path
+from azure.storage.blob import BlobServiceClient
+from src.utils.config import load_config
+
+
+async def check_consumers():
+ """활성 Consumer 조회"""
+
+ # 설정 로드
+ config_path = Path('config.yaml')
+ config = load_config(str(config_path))
+
+ eventhub_config = config['eventhub']
+ storage_conn_str = eventhub_config['storage']['connection_string']
+ container_name = eventhub_config['storage']['container_name']
+ consumer_group = eventhub_config['consumer_group']
+
+ # Blob Service Client
+ blob_service = BlobServiceClient.from_connection_string(storage_conn_str)
+ container = blob_service.get_container_client(container_name)
+
+ # Ownership 정보 조회
+ ownership_prefix = f"{consumer_group}/ownership/"
+
+ print(f"Consumer Group: {consumer_group}\n")
+
+ for blob in container.list_blobs(name_starts_with=ownership_prefix):
+ blob_client = container.get_blob_client(blob.name)
+ content = blob_client.download_blob().readall()
+
+ ownership_data = json.loads(content)
+ partition_id = blob.name.split('/')[-1]
+ owner_id = ownership_data.get('ownerIdentifier', 'unknown')
+
+ # 활성 상태 확인 (60초 이내 갱신)
+ now = datetime.now(timezone.utc)
+ time_diff = (now - blob.last_modified).total_seconds()
+ is_active = time_diff < 60
+
+ status = "🟢 ACTIVE" if is_active else "🔴 INACTIVE"
+
+ print(f"파티션 {partition_id}: {status}")
+ print(f" Owner: {owner_id}")
+ print(f" 갱신: {int(time_diff)}초 전\n")
+
+
+asyncio.run(check_consumers())
+```
+
+---
+
+## 방법 3: Azure Portal에서 확인
+
+### 단계
+
+1. **Azure Portal** 접속 (https://portal.azure.com)
+2. **Storage Account** 이동
+ - "hgzerostorage" 검색
+3. **Containers** 클릭
+ - "hgzero-checkpoints" 선택
+4. **폴더 구조 확인**
+ ```
+ $Default/
+ ├── ownership/
+ │ └── 0 ← 파티션 0의 소유권 정보
+ └── checkpoint/
+ └── 0 ← 파티션 0의 checkpoint
+ ```
+5. **ownership/0 파일 다운로드** 또는 **View** 클릭
+6. **JSON 내용 확인**
+ ```json
+ {
+ "ownerIdentifier": "73fda457-b555-4af5-873a-54a2baa5fd95",
+ "lastModifiedTime": "2025-10-29T12:35:42Z",
+ ...
+ }
+ ```
+
+### 정보 해석
+
+- **ownerIdentifier**: 현재 Consumer의 고유 ID
+- **lastModifiedTime**: 마지막 lease 갱신 시간
+ - 60초 이내: 🟢 활성 상태
+ - 60초 이상: 🔴 비활성 (Consumer 종료됨)
+
+---
+
+## 방법 4: Azure CLI로 조회
+
+### Blob 목록 확인
+
+```bash
+# Storage Account 키 조회
+az storage account keys list \
+ --resource-group rg-digitalgarage-02 \
+ --account-name hgzerostorage \
+ --query "[0].value" -o tsv
+
+# Blob 목록 조회
+az storage blob list \
+ --account-name hgzerostorage \
+ --container-name hgzero-checkpoints \
+ --prefix "\$Default/ownership/" \
+ --output table
+```
+
+### Blob 내용 다운로드
+
+```bash
+# ownership 정보 다운로드
+az storage blob download \
+ --account-name hgzerostorage \
+ --container-name hgzero-checkpoints \
+ --name "\$Default/ownership/0" \
+ --file /tmp/ownership.json
+
+# 내용 확인
+cat /tmp/ownership.json | python3 -m json.tool
+```
+
+---
+
+## 방법 5: 프로세스 레벨에서 확인
+
+### 로컬 머신에서 실행 중인 Consumer
+
+```bash
+# Consumer 프로세스 확인
+ps aux | grep "start_consumer.py" | grep -v grep
+
+# 출력:
+# daewoong 81447 0.0 0.2 python start_consumer.py
+```
+
+### 네트워크 연결 확인
+
+```bash
+# Event Hub와의 연결 확인
+lsof -i -n | grep 81447 | grep ESTABLISHED
+
+# 출력:
+# python3.1 81447 daewoong 9u IPv6 TCP ... -> ...servicebus.windows.net:https (ESTABLISHED)
+```
+
+**의미:**
+- Consumer 프로세스가 실행 중
+- Event Hub와 HTTPS 연결 유지 중
+- 이벤트 수신 대기 중
+
+---
+
+## 주요 개념
+
+### Ownership (소유권)
+
+```
+파티션 0
+ ↓
+Ownership Blob (Blob Storage)
+ ↓
+{
+ "ownerIdentifier": "consumer-uuid",
+ "lastModifiedTime": "2025-10-29T12:35:42Z",
+ "eTag": "...",
+ ...
+}
+ ↓
+Lease 메커니즘 (30초마다 갱신)
+ ↓
+갱신 실패 시 → 다른 Consumer가 인수 가능
+```
+
+### Checkpoint (읽은 위치)
+
+```
+파티션 0
+ ↓
+Checkpoint Blob
+ ↓
+{
+ "offset": "120259090624",
+ "sequenceNumber": 232,
+ ...
+}
+ ↓
+Consumer 재시작 시 → 이 위치부터 재개
+```
+
+### Consumer 상태 판단
+
+| 조건 | 상태 | 의미 |
+|------|------|------|
+| lastModifiedTime < 60초 | 🟢 ACTIVE | 정상 동작 중 |
+| 60초 < lastModifiedTime < 180초 | 🟡 WARNING | Lease 갱신 지연 |
+| lastModifiedTime > 180초 | 🔴 INACTIVE | Consumer 종료 |
+
+---
+
+## 트러블슈팅
+
+### 문제 1: Ownership 정보가 없음
+
+**증상:**
+```
+⚠️ 소유권 정보가 없습니다. Consumer가 실행되지 않았을 수 있습니다.
+```
+
+**원인:**
+- Consumer가 한 번도 실행되지 않음
+- Consumer가 ownership claim에 실패함
+
+**해결:**
+1. Consumer 프로세스 확인: `ps aux | grep start_consumer`
+2. Consumer 로그 확인
+3. 권한 확인 (Storage Account 접근 권한)
+
+### 문제 2: 여러 Owner ID가 나타남
+
+**증상:**
+```
+Consumer #1: owner-id-1 (파티션 0, 2, 4)
+Consumer #2: owner-id-2 (파티션 1, 3, 5)
+```
+
+**원인:**
+- 정상: 여러 Consumer가 파티션을 나눠서 처리
+- 파티션이 여러 개이고 Consumer도 여러 개
+
+**확인:**
+- 각 파티션이 하나의 Consumer만 소유하면 정상
+- 동일 파티션을 여러 Consumer가 소유하면 문제
+
+### 문제 3: lastModified가 오래됨
+
+**증상:**
+```
+파티션 0:
+ 상태: 🔴 INACTIVE
+ 마지막 갱신: 2025-10-29 10:00:00 UTC
+ 경과 시간: 7200초 전 (2시간)
+```
+
+**원인:**
+- Consumer가 종료됨
+- Consumer가 응답 없음 (hang)
+- 네트워크 문제
+
+**해결:**
+1. Consumer 프로세스 확인
+2. Consumer 재시작
+3. 로그 확인하여 에러 파악
+
+---
+
+## 실시간 모니터링
+
+### 스크립트: 주기적 확인
+
+```bash
+#!/bin/bash
+# monitor_consumers.sh
+
+while true; do
+ clear
+ echo "=== $(date) ==="
+ python check_active_consumers.py
+ sleep 30 # 30초마다 갱신
+done
+```
+
+### 실행
+
+```bash
+chmod +x monitor_consumers.sh
+./monitor_consumers.sh
+```
+
+---
+
+## 요약
+
+### 빠른 확인 방법
+
+```bash
+# 1. 스크립트 실행 (가장 쉬움)
+python check_active_consumers.py
+
+# 2. 프로세스 확인
+ps aux | grep start_consumer
+
+# 3. Azure Portal에서 Blob 확인
+# Storage Account > Containers > hgzero-checkpoints > $Default/ownership
+```
+
+### 확인 항목 체크리스트
+
+- [ ] Consumer 프로세스 실행 중인가?
+- [ ] Ownership 정보가 있는가?
+- [ ] lastModified가 60초 이내인가?
+- [ ] 각 파티션이 하나의 Consumer만 소유하는가?
+- [ ] Checkpoint가 갱신되고 있는가?
+
+모든 항목이 체크되면 Consumer가 정상 동작 중입니다! ✅
+
+---
+
+## 참고 파일
+
+- 스크립트: `/Users/daewoong/home/workspace/HGZero/rag/check_active_consumers.py`
+- 설정: `/Users/daewoong/home/workspace/HGZero/rag/config.yaml`
+- Blob Storage: `hgzerostorage/hgzero-checkpoints`
diff --git a/rag/docs/consumer_group_setup.md b/rag/docs/consumer_group_setup.md
new file mode 100644
index 0000000..03d2bf0
--- /dev/null
+++ b/rag/docs/consumer_group_setup.md
@@ -0,0 +1,494 @@
+# Consumer Group 생성 및 할당 가이드
+
+## 목차
+1. [Consumer Group이란?](#consumer-group이란)
+2. [생성 방법](#생성-방법)
+3. [코드에서 사용하기](#코드에서-사용하기)
+4. [검증 방법](#검증-방법)
+5. [트러블슈팅](#트러블슈팅)
+
+---
+
+## Consumer Group이란?
+
+Consumer Group은 Event Hub의 이벤트를 **독립적으로 읽는 논리적 그룹**입니다.
+
+### 주요 특징
+- 각 Consumer Group은 독립적인 checkpoint를 유지
+- 동일한 이벤트를 여러 Consumer Group이 각각 읽을 수 있음
+- 기본 Consumer Group: `$Default` (자동 생성됨)
+
+### 사용 사례
+| Consumer Group | 용도 | 설명 |
+|---------------|------|------|
+| `$Default` | 프로덕션 | 실제 운영 환경에서 사용 |
+| `development` | 개발 | 개발자가 로컬에서 테스트 |
+| `test` | 테스트 | QA 테스트 환경 |
+| `analytics` | 분석 | 데이터 분석 및 모니터링 |
+| `backup` | 백업 | 이벤트 백업 및 아카이빙 |
+
+---
+
+## 생성 방법
+
+### 방법 1: Azure Portal (가장 쉬움) ⭐️
+
+#### 단계별 가이드
+
+**Step 1: Azure Portal 접속**
+```
+https://portal.azure.com
+```
+
+**Step 2: Event Hub Namespace 찾기**
+1. 상단 검색창에 "hgzero-eventhub-ns" 입력
+2. "Event Hubs Namespaces" 아래의 결과 클릭
+
+**Step 3: Event Hub 선택**
+1. 왼쪽 메뉴에서 "Event Hubs" 클릭
+2. "hgzero-eventhub-name" 선택
+
+**Step 4: Consumer Groups 관리**
+1. 왼쪽 메뉴에서 "Consumer groups" 클릭
+2. 현재 목록에 `$Default`만 있을 것임
+
+**Step 5: 새 Consumer Group 생성**
+1. 상단의 "+ Consumer group" 버튼 클릭
+2. Name 입력:
+ - 개발용: `development`
+ - 테스트용: `test`
+ - 분석용: `analytics`
+3. "Create" 버튼 클릭
+
+**Step 6: 생성 확인**
+- 목록에 새로운 Consumer Group이 추가되었는지 확인
+- 예: `$Default`, `development`, `test`
+
+---
+
+### 방법 2: Azure CLI
+
+#### 사전 요구사항
+```bash
+# Azure CLI 설치 확인
+az --version
+
+# 로그인
+az login
+```
+
+#### Consumer Group 생성
+```bash
+# 리소스 그룹 확인 (필요 시)
+az eventhubs namespace show \
+ --name hgzero-eventhub-ns \
+ --query resourceGroup -o tsv
+
+# Consumer Group 생성
+az eventhubs eventhub consumer-group create \
+ --resource-group \
+ --namespace-name hgzero-eventhub-ns \
+ --eventhub-name hgzero-eventhub-name \
+ --name development
+
+# 생성 확인
+az eventhubs eventhub consumer-group list \
+ --resource-group \
+ --namespace-name hgzero-eventhub-ns \
+ --eventhub-name hgzero-eventhub-name \
+ --output table
+```
+
+#### 출력 예시
+```
+Name ResourceGroup
+----------- ---------------
+$Default hgzero-rg
+development hgzero-rg
+test hgzero-rg
+```
+
+---
+
+### 방법 3: Python Management SDK
+
+#### 설치
+```bash
+pip install azure-mgmt-eventhub azure-identity
+```
+
+#### 코드
+```python
+from azure.mgmt.eventhub import EventHubManagementClient
+from azure.identity import DefaultAzureCredential
+
+# 인증
+credential = DefaultAzureCredential()
+subscription_id = ""
+
+# 관리 클라이언트 생성
+mgmt_client = EventHubManagementClient(credential, subscription_id)
+
+# Consumer Group 생성
+mgmt_client.consumer_groups.create_or_update(
+ resource_group_name='',
+ namespace_name='hgzero-eventhub-ns',
+ event_hub_name='hgzero-eventhub-name',
+ consumer_group_name='development',
+ parameters={} # 추가 설정 가능
+)
+
+print("✅ Consumer Group 'development' 생성 완료")
+
+# Consumer Group 목록 조회
+consumer_groups = mgmt_client.consumer_groups.list_by_event_hub(
+ resource_group_name='',
+ namespace_name='hgzero-eventhub-ns',
+ event_hub_name='hgzero-eventhub-name'
+)
+
+print("\n현재 Consumer Groups:")
+for cg in consumer_groups:
+ print(f" - {cg.name}")
+```
+
+---
+
+## 코드에서 사용하기
+
+### 1. config.yaml 수정
+
+#### 기존 설정
+```yaml
+eventhub:
+ connection_string: ${EVENTHUB_CONNECTION_STRING}
+ name: ${EVENTHUB_NAME}
+ consumer_group: ${AZURE_EVENTHUB_CONSUMER_GROUP} # "$Default"
+ storage:
+ connection_string: ${AZURE_STORAGE_CONNECTION_STRING}
+ container_name: ${AZURE_STORAGE_CONTAINER_NAME}
+```
+
+#### 개발 환경용 설정
+```yaml
+eventhub:
+ connection_string: ${EVENTHUB_CONNECTION_STRING}
+ name: ${EVENTHUB_NAME}
+ consumer_group: "development" # 직접 지정
+ storage:
+ connection_string: ${AZURE_STORAGE_CONNECTION_STRING}
+ container_name: ${AZURE_STORAGE_CONTAINER_NAME}
+```
+
+### 2. .env 파일 수정 (선택사항)
+
+#### 환경 변수로 관리하는 경우
+```bash
+# .env
+EVENTHUB_CONNECTION_STRING="Endpoint=sb://hgzero-eventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=..."
+EVENTHUB_NAME=hgzero-eventhub-name
+AZURE_EVENTHUB_CONSUMER_GROUP=development # 변경
+AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=hgzerostorage;..."
+AZURE_STORAGE_CONTAINER_NAME=hgzero-checkpoints
+```
+
+### 3. Consumer 실행
+
+#### 개발 환경
+```bash
+# config.yaml의 consumer_group을 "development"로 설정
+cd /Users/daewoong/home/workspace/HGZero/rag
+python start_consumer.py
+```
+
+#### 프로덕션 환경
+```bash
+# config.yaml의 consumer_group을 "$Default"로 설정
+python start_consumer.py
+```
+
+#### 여러 환경 동시 실행
+```bash
+# Terminal 1: 프로덕션 Consumer
+AZURE_EVENTHUB_CONSUMER_GROUP=$Default python start_consumer.py
+
+# Terminal 2: 개발 Consumer
+AZURE_EVENTHUB_CONSUMER_GROUP=development python start_consumer.py
+
+# Terminal 3: 테스트 Consumer
+AZURE_EVENTHUB_CONSUMER_GROUP=test python start_consumer.py
+```
+
+---
+
+## 검증 방법
+
+### 1. Consumer Group 목록 확인
+
+#### Python으로 확인
+```python
+import asyncio
+from pathlib import Path
+from azure.eventhub.aio import EventHubConsumerClient
+from src.utils.config import load_config
+
+async def list_consumer_groups():
+ """사용 가능한 Consumer Group 확인"""
+ config_path = Path('config.yaml')
+ config = load_config(str(config_path))
+
+ eventhub_config = config['eventhub']
+
+ # 여기서는 실제로 Management API를 사용해야 하지만
+ # Consumer Client로는 자신이 속한 그룹만 확인 가능
+
+ print(f"현재 설정된 Consumer Group: {eventhub_config['consumer_group']}")
+
+asyncio.run(list_consumer_groups())
+```
+
+### 2. 다른 Consumer Group으로 테스트
+
+```python
+import asyncio
+import json
+from pathlib import Path
+from azure.eventhub.aio import EventHubConsumerClient
+from azure.eventhub.extensions.checkpointstoreblobaio import BlobCheckpointStore
+from src.utils.config import load_config
+
+async def test_consumer_group(consumer_group_name):
+ """특정 Consumer Group으로 이벤트 수신 테스트"""
+ config_path = Path('config.yaml')
+ config = load_config(str(config_path))
+
+ eventhub_config = config['eventhub']
+
+ # Checkpoint Store
+ checkpoint_store = BlobCheckpointStore.from_connection_string(
+ eventhub_config['storage']['connection_string'],
+ eventhub_config['storage']['container_name']
+ )
+
+ # Consumer Client (Consumer Group 지정)
+ client = EventHubConsumerClient.from_connection_string(
+ eventhub_config['connection_string'],
+ consumer_group=consumer_group_name, # 여기서 지정!
+ eventhub_name=eventhub_config['name'],
+ checkpoint_store=checkpoint_store
+ )
+
+ print(f"✅ Consumer Group '{consumer_group_name}'로 연결 시도...")
+
+ event_count = 0
+
+ async def on_event(partition_context, event):
+ nonlocal event_count
+ event_count += 1
+ print(f"이벤트 수신: #{event_count}")
+ await partition_context.update_checkpoint(event)
+
+ async def on_error(partition_context, error):
+ print(f"에러: {error}")
+
+ try:
+ async with client:
+ receive_task = asyncio.create_task(
+ client.receive(
+ on_event=on_event,
+ on_error=on_error,
+ starting_position="@earliest"
+ )
+ )
+
+ await asyncio.sleep(10) # 10초 대기
+ receive_task.cancel()
+
+ try:
+ await receive_task
+ except asyncio.CancelledError:
+ pass
+
+ print(f"\n✅ 테스트 완료: {event_count}개 이벤트 수신")
+
+ except Exception as e:
+ print(f"❌ 에러 발생: {str(e)}")
+
+# 테스트 실행
+asyncio.run(test_consumer_group("development"))
+```
+
+### 3. Checkpoint 저장 위치 확인
+
+각 Consumer Group은 독립적인 checkpoint를 Blob Storage에 저장합니다:
+
+```
+hgzero-checkpoints (Container)
+├─ $Default/
+│ ├─ ownership/
+│ │ └─ 0 (파티션 0의 소유권 정보)
+│ └─ checkpoint/
+│ └─ 0 (파티션 0의 checkpoint)
+├─ development/
+│ ├─ ownership/
+│ │ └─ 0
+│ └─ checkpoint/
+│ └─ 0
+└─ test/
+ ├─ ownership/
+ │ └─ 0
+ └─ checkpoint/
+ └─ 0
+```
+
+---
+
+## 트러블슈팅
+
+### 문제 1: Consumer Group을 찾을 수 없음
+
+**증상**
+```
+azure.eventhub.exceptions.EventHubError: The messaging entity 'sb://hgzero-eventhub-ns.servicebus.windows.net/hgzero-eventhub-name/ConsumerGroups/development' could not be found.
+```
+
+**원인**: Consumer Group이 실제로 생성되지 않음
+
+**해결**:
+1. Azure Portal에서 Consumer Group 목록 확인
+2. 없으면 생성
+3. 이름 오타 확인 (대소문자 구분)
+
+### 문제 2: Ownership claim 실패
+
+**증상**
+```
+EventProcessor 'xxx' hasn't claimed an ownership. It keeps claiming.
+```
+
+**원인**:
+- 동일 Consumer Group에 이미 다른 Consumer가 실행 중
+- 파티션보다 Consumer가 많음
+
+**해결**:
+1. 기존 Consumer 종료
+2. 다른 Consumer Group 사용
+3. 파티션 수 증가
+
+### 문제 3: 이벤트를 읽지 못함
+
+**증상**: Consumer는 실행되지만 이벤트가 수신되지 않음
+
+**원인**:
+- Starting position이 최신으로 설정됨
+- 새 이벤트가 없음
+
+**해결**:
+```python
+# config.yaml 또는 코드에서
+await client.receive(
+ on_event=on_event,
+ on_error=on_error,
+ starting_position="@earliest" # 처음부터 읽기
+)
+```
+
+### 문제 4: Checkpoint가 초기화되지 않음
+
+**증상**: 새 Consumer Group인데 이미 읽은 것처럼 동작
+
+**원인**: Blob Storage에 이전 checkpoint가 남아있음
+
+**해결**:
+```bash
+# Azure Portal에서
+# Storage Account > Containers > hgzero-checkpoints
+# 해당 Consumer Group 폴더 삭제
+```
+
+또는 코드로:
+```python
+from azure.storage.blob import BlobServiceClient
+
+blob_service = BlobServiceClient.from_connection_string(
+ AZURE_STORAGE_CONNECTION_STRING
+)
+container = blob_service.get_container_client("hgzero-checkpoints")
+
+# 특정 Consumer Group의 checkpoint 삭제
+prefix = "development/"
+blobs = container.list_blobs(name_starts_with=prefix)
+for blob in blobs:
+ container.delete_blob(blob.name)
+ print(f"삭제: {blob.name}")
+```
+
+---
+
+## 권장 설정
+
+### 환경별 Consumer Group 전략
+
+```yaml
+# 프로덕션
+production:
+ consumer_group: "$Default"
+ starting_position: "-1" # 최신 이벤트부터
+ checkpoint_interval: 30 # 30초마다 checkpoint
+
+# 개발
+development:
+ consumer_group: "development"
+ starting_position: "@earliest" # 처음부터
+ checkpoint_interval: 10 # 자주 checkpoint (테스트용)
+
+# 테스트
+test:
+ consumer_group: "test"
+ starting_position: "@earliest"
+ checkpoint_interval: 5 # 매우 자주 (빠른 테스트)
+
+# 분석
+analytics:
+ consumer_group: "analytics"
+ starting_position: "@earliest" # 모든 데이터 분석
+ checkpoint_interval: 60 # 덜 자주 (성능)
+```
+
+### 실행 스크립트 예시
+
+```bash
+#!/bin/bash
+# start_dev_consumer.sh
+
+export AZURE_EVENTHUB_CONSUMER_GROUP=development
+cd /Users/daewoong/home/workspace/HGZero/rag
+python start_consumer.py
+```
+
+---
+
+## 요약
+
+### 빠른 시작 체크리스트
+
+- [ ] Azure Portal에서 Consumer Group 생성
+ - [ ] 이름: `development`
+ - [ ] Event Hub: `hgzero-eventhub-name`
+- [ ] `config.yaml` 수정
+ - [ ] `consumer_group: "development"` 설정
+- [ ] Consumer 실행
+ - [ ] `python start_consumer.py`
+- [ ] 검증
+ - [ ] 이벤트 수신 확인
+ - [ ] Blob Storage에 checkpoint 생성 확인
+
+### Consumer Group 활용 팁
+
+1. **프로덕션과 개발 분리**: 항상 다른 Consumer Group 사용
+2. **테스트는 독립적으로**: `test` Consumer Group으로 자유롭게 실험
+3. **Checkpoint 관리**: 필요시 삭제하여 처음부터 재처리
+4. **모니터링**: 각 Consumer Group별 lag 모니터링
+5. **비용 최적화**: 불필요한 Consumer Group은 삭제
+
+이제 원하는 Consumer Group을 만들고 독립적으로 Event Hub를 사용할 수 있습니다! 🎯
diff --git a/rag/eventhub_guide.md b/rag/eventhub_guide.md
new file mode 100644
index 0000000..7e911e9
--- /dev/null
+++ b/rag/eventhub_guide.md
@@ -0,0 +1,378 @@
+# Event Hub Consumer Guide
+
+## 핵심 개념: Partition Ownership (파티션 소유권)
+
+Event Hub에서는 **같은 Consumer Group 내에서 하나의 파티션은 동시에 오직 하나의 Consumer만 읽을 수 있습니다**. 이를 "Exclusive Consumer" 패턴이라고 합니다.
+
+## 왜 이런 제약이 있나요?
+
+### 1. 순서 보장 (Ordering)
+
+```
+파티션 0: [이벤트1] → [이벤트2] → [이벤트3]
+
+❌ 잘못된 경우 (여러 Consumer가 동시 읽기):
+Consumer A: 이벤트1 처리 중... (느림)
+Consumer B: 이벤트2 처리 완료 ✓
+Consumer C: 이벤트3 처리 완료 ✓
+→ 처리 순서: 2 → 3 → 1 (순서 뒤바뀜!)
+
+✅ 올바른 경우 (하나의 Consumer만):
+Consumer A: 이벤트1 ✓ → 이벤트2 ✓ → 이벤트3 ✓
+→ 처리 순서: 1 → 2 → 3 (순서 보장!)
+```
+
+### 2. Checkpoint 일관성
+
+```
+❌ 여러 Consumer가 각자 checkpoint:
+Consumer A: offset 100까지 읽음 → checkpoint 저장
+Consumer B: offset 150까지 읽음 → checkpoint 덮어씀
+Consumer A 재시작 → offset 150부터 읽음 → offset 100~149 누락!
+
+✅ 하나의 Consumer만:
+Consumer A: offset 100 → 110 → 120 → ... (순차적)
+재시작 시 → 마지막 checkpoint부터 정확히 재개
+```
+
+### 3. 중복 처리 방지
+
+```
+❌ 여러 Consumer가 동일 이벤트 읽기:
+Consumer A: 주문 이벤트 처리 → 결제 완료
+Consumer B: 동일 주문 이벤트 처리 → 중복 결제!
+
+✅ 하나의 Consumer만:
+Consumer A: 주문 이벤트 처리 → 1번만 결제 ✓
+```
+
+## Ownership Claim 메커니즘
+
+### 동작 과정
+
+```
+Consumer A (PID 51257) - 먼저 시작
+ ↓
+Blob Storage에 파티션 0 소유권 요청
+ ↓
+✅ 승인 (Owner: A, Lease: 30초)
+ ↓
+30초마다 Lease 갱신
+ ↓
+계속 소유권 유지
+
+
+Consumer B (테스트) - 나중에 시작
+ ↓
+Blob Storage에 파티션 0 소유권 요청
+ ↓
+❌ 거부 (이미 A가 소유 중)
+ ↓
+"hasn't claimed an ownership" 로그
+ ↓
+계속 재시도 (대기 상태)
+```
+
+### Blob Storage에 저장되는 정보
+
+```json
+{
+ "partitionId": "0",
+ "ownerIdentifier": "73fda457-b555-4af5-873a-54a2baa5fd95",
+ "lastModifiedTime": "2025-10-29T02:17:49Z",
+ "eTag": "\"0x8DCF7E8F9B3C1A0\"",
+ "offset": "120259090624",
+ "sequenceNumber": 232
+}
+```
+
+## 현재 상황 분석
+
+```
+Event Hub: hgzero-eventhub-name
+├─ 파티션 수: 1개 (파티션 0)
+└─ Consumer Group: $Default
+
+실행 중:
+├─ Consumer A (PID 51257): 파티션 0 소유 ✅
+│ ├─ 이벤트 정상 수신 중
+│ ├─ Lease 주기적 갱신 중
+│ └─ Checkpoint 저장 중
+│
+└─ 테스트 Consumer들: 소유권 없음 ❌
+ ├─ 파티션 0 claim 시도
+ ├─ 계속 거부당함
+ ├─ "hasn't claimed an ownership" 로그
+ └─ 이벤트 수신 불가
+```
+
+## 해결 방법
+
+### Option 1: 기존 Consumer 종료 후 재시작
+
+```bash
+# 기존 Consumer 종료
+kill 51257
+
+# 새로 시작
+cd /Users/daewoong/home/workspace/HGZero/rag
+python start_consumer.py
+```
+
+**장점**: 간단
+**단점**: 다운타임 발생 (Lease 만료까지 최대 30초)
+
+### Option 2: 다른 Consumer Group 사용 (권장)
+
+```yaml
+# config.yaml
+eventhub:
+ consumer_group: "test-group" # $Default 대신 사용
+```
+
+**장점**:
+- 기존 Consumer에 영향 없음
+- 독립적으로 모든 이벤트 읽기 가능
+- 개발/테스트에 이상적
+
+**단점**: 리소스 추가 사용
+
+### Option 3: 파티션 수평 확장
+
+```
+Event Hub 파티션 증가: 1개 → 3개
+Consumer 실행: 3개
+
+분산:
+├─ Consumer A: 파티션 0
+├─ Consumer B: 파티션 1
+└─ Consumer C: 파티션 2
+
+→ 병렬 처리로 3배 성능 향상!
+```
+
+**장점**: 높은 처리량
+**단점**: 비용 증가, 전체 순서는 보장 안 됨 (파티션 내 순서만 보장)
+
+## Consumer Group 비교
+
+```
+┌─────────────────────────────────────────┐
+│ Event Hub: hgzero-eventhub │
+│ 파티션 0: [이벤트들...] │
+└─────────────────────────────────────────┘
+ │
+ ├─────────────────┬─────────────────┐
+ │ │ │
+ Consumer Group Consumer Group Consumer Group
+ "$Default" "analytics" "backup"
+ │ │ │
+ Consumer A Consumer B Consumer C
+ (RAG 처리) (분석 처리) (백업 처리)
+ │ │ │
+ 각자 독립적으로 동일한 파티션 0의 모든 이벤트 읽음
+ 각자 독립적인 Checkpoint 유지
+```
+
+## 파티션과 Consumer 수 관계
+
+### Case 1: Consumer 1개
+```
+Event Hub: 파티션 3개 (P0, P1, P2)
+Consumer Group: $Default
+
+├─ Consumer A: P0, P1, P2 모두 소유
+└─ 모든 파티션 처리 (순차적)
+```
+
+### Case 2: Consumer 3개 (이상적)
+```
+Event Hub: 파티션 3개 (P0, P1, P2)
+Consumer Group: $Default
+
+├─ Consumer A: P0 소유
+├─ Consumer B: P1 소유
+└─ Consumer C: P2 소유
+
+→ 병렬 처리로 최대 성능!
+```
+
+### Case 3: Consumer 5개 (과잉)
+```
+Event Hub: 파티션 3개 (P0, P1, P2)
+Consumer Group: $Default
+
+├─ Consumer A: P0 소유
+├─ Consumer B: P1 소유
+├─ Consumer C: P2 소유
+├─ Consumer D: 소유한 파티션 없음 (대기)
+└─ Consumer E: 소유한 파티션 없음 (대기)
+
+→ D, E는 이벤트를 읽지 못하고 대기만 함
+```
+
+## 베스트 프랙티스
+
+| 환경 | Consumer 수 | Consumer Group | 파티션 수 |
+|------|-------------|----------------|-----------|
+| **프로덕션** | = 파티션 수 | production | 처리량에 맞게 |
+| **개발** | 1개 | development | 1~2개 |
+| **테스트** | 1개 | test | 1개 |
+| **분석** | 1개 | analytics | (공유) |
+
+### 권장 사항
+
+1. **프로덕션 환경**
+ - Consumer 수 = 파티션 수 (1:1 매핑)
+ - 고가용성을 위해 각 Consumer를 다른 서버에 배치
+ - Consumer 수 > 파티션 수로 설정하면 일부는 대기 상태 (Standby)
+
+2. **개발/테스트 환경**
+ - 별도 Consumer Group 사용
+ - 파티션 1개로 충분
+ - 필요시 checkpoint를 초기화하여 처음부터 재처리
+
+3. **모니터링**
+ - Ownership claim 실패 로그 모니터링
+ - Lease 갱신 실패 알림 설정
+ - Checkpoint lag 모니터링
+
+4. **장애 복구**
+ - Lease timeout 고려 (기본 30초)
+ - Consumer 장애 시 자동 재분배 (30초 이내)
+ - Checkpoint로부터 정확한 위치에서 재개
+
+## Consumer 프로세스 관리 명령어
+
+### 프로세스 확인
+
+```bash
+# Consumer 프로세스 확인
+ps aux | grep "start_consumer.py" | grep -v grep
+
+# 상세 정보 (실행시간, CPU, 메모리)
+ps -p -o pid,etime,%cpu,%mem,cmd
+
+# 네트워크 연결 확인
+lsof -i -n | grep
+
+# 모든 Python 프로세스 확인
+ps aux | grep python | grep -v grep
+```
+
+### 프로세스 종료
+
+```bash
+# 정상 종료 (SIGTERM)
+kill
+
+# 강제 종료 (SIGKILL)
+kill -9
+
+# 이름으로 종료
+pkill -f start_consumer.py
+```
+
+## 테스트 이벤트 전송
+
+```python
+from azure.eventhub import EventHubProducerClient, EventData
+import json
+import os
+from dotenv import load_dotenv
+
+load_dotenv('rag/.env')
+
+conn_str = os.getenv('EVENTHUB_CONNECTION_STRING')
+eventhub_name = os.getenv('EVENTHUB_NAME')
+
+test_event = {
+ 'eventType': 'MINUTES_FINALIZED',
+ 'data': {
+ 'meetingId': 'test-meeting-001',
+ 'title': '테스트 회의',
+ 'minutesId': 'test-minutes-001',
+ 'sections': [
+ {
+ 'sectionId': 'section-001',
+ 'type': 'DISCUSSION',
+ 'title': '논의 사항',
+ 'content': '테스트 논의 내용입니다.',
+ 'order': 1,
+ 'verified': True
+ }
+ ]
+ }
+}
+
+producer = EventHubProducerClient.from_connection_string(
+ conn_str=conn_str,
+ eventhub_name=eventhub_name
+)
+
+event_data_batch = producer.create_batch()
+event_data_batch.add(EventData(json.dumps(test_event)))
+
+producer.send_batch(event_data_batch)
+print('✅ 테스트 이벤트 전송 완료')
+
+producer.close()
+```
+
+## Event Hub 파티션 정보 조회
+
+```python
+import asyncio
+from azure.eventhub.aio import EventHubConsumerClient
+
+async def check_partitions():
+ client = EventHubConsumerClient.from_connection_string(
+ conn_str=EVENTHUB_CONNECTION_STRING,
+ consumer_group="$Default",
+ eventhub_name=EVENTHUB_NAME
+ )
+
+ async with client:
+ partition_ids = await client.get_partition_ids()
+ print(f"파티션 개수: {len(partition_ids)}")
+ print(f"파티션 IDs: {partition_ids}")
+
+ for partition_id in partition_ids:
+ props = await client.get_partition_properties(partition_id)
+ print(f"\n파티션 {partition_id}:")
+ print(f" 시퀀스 번호: {props['last_enqueued_sequence_number']}")
+ print(f" 오프셋: {props['last_enqueued_offset']}")
+ print(f" 마지막 이벤트 시간: {props['last_enqueued_time_utc']}")
+
+asyncio.run(check_partitions())
+```
+
+## 정리
+
+### "에러"가 아니라 "설계된 동작"입니다
+
+1. ✅ **정상**: Consumer A가 파티션 소유 → 이벤트 처리
+2. ✅ **정상**: Consumer B가 claim 실패 → 대기
+3. ✅ **정상**: Consumer A 종료 시 → Consumer B가 자동 인수
+
+### 이 메커니즘의 장점
+
+- 📌 **순서 보장**: 파티션 내 이벤트 순서 유지
+- 📌 **정확히 한 번 처리**: 중복 처리 방지
+- 📌 **자동 장애 복구**: Consumer 장애 시 자동 재분배
+- 📌 **수평 확장**: 파티션 추가로 처리량 증가
+
+### 현재 상황 해결
+
+**권장**: 다른 Consumer Group을 사용하여 테스트하시는 것이 가장 안전하고 효율적입니다!
+
+```yaml
+# 개발/테스트용 Consumer Group 설정
+eventhub:
+ consumer_group: "development" # 또는 "test"
+```
+
+이렇게 하면:
+- 기존 프로덕션 Consumer에 영향 없음
+- 독립적으로 모든 이벤트를 처음부터 읽을 수 있음
+- 여러 번 테스트 가능
diff --git a/rag/src/api/__pycache__/main.cpython-311.pyc b/rag/src/api/__pycache__/main.cpython-311.pyc
index cd6d2fb..4a523ac 100644
Binary files a/rag/src/api/__pycache__/main.cpython-311.pyc and b/rag/src/api/__pycache__/main.cpython-311.pyc differ
diff --git a/rag/src/api/main.py b/rag/src/api/main.py
index d6e59da..b1e989b 100644
--- a/rag/src/api/main.py
+++ b/rag/src/api/main.py
@@ -22,7 +22,9 @@ from ..models.document import (
)
from ..models.minutes import (
MinutesSearchRequest,
- MinutesSearchResult
+ MinutesSearchResult,
+ RelatedMinutesRequest,
+ RelatedMinutesResponse
)
from ..db.postgres_vector import PostgresVectorDB
from ..db.azure_search import AzureAISearchDB
@@ -31,6 +33,7 @@ from ..services.claude_service import ClaudeService
from ..utils.config import load_config, get_database_url
from ..utils.embedding import EmbeddingGenerator
from ..utils.text_processor import extract_nouns_as_query
+from ..utils.redis_cache import RedisCache
# 로깅 설정
logging.basicConfig(
@@ -62,6 +65,7 @@ _doc_db = None
_rag_minutes_db = None
_embedding_gen = None
_claude_service = None
+_redis_cache = None
def get_config():
@@ -139,6 +143,22 @@ def get_claude_service():
return _claude_service
+def get_redis_cache():
+ """Redis 캐시"""
+ global _redis_cache
+ if _redis_cache is None:
+ config = get_config()
+ redis_config = config["redis"]
+ _redis_cache = RedisCache(
+ host=redis_config["host"],
+ port=redis_config["port"],
+ db=redis_config["db"],
+ password=redis_config.get("password"),
+ decode_responses=redis_config.get("decode_responses", True)
+ )
+ return _redis_cache
+
+
# ============================================================================
# 용어집 API
# ============================================================================
@@ -156,7 +176,7 @@ async def root():
}
-@app.post("/api/terms/search", response_model=List[TermSearchResult])
+@app.post("/api/rag/terms/search", response_model=List[TermSearchResult])
async def search_terms(
request: TermSearchRequest,
term_db: PostgresVectorDB = Depends(get_term_db),
@@ -253,7 +273,7 @@ async def search_terms(
raise HTTPException(status_code=500, detail=str(e))
-@app.get("/api/terms/{term_id}", response_model=Term)
+@app.get("/api/rag/terms/{term_id}", response_model=Term)
async def get_term(
term_id: str,
term_db: PostgresVectorDB = Depends(get_term_db)
@@ -281,7 +301,7 @@ async def get_term(
raise HTTPException(status_code=500, detail=str(e))
-@app.post("/api/terms/{term_id}/explain", response_model=TermExplanation)
+@app.post("/api/rag/terms/{term_id}/explain", response_model=TermExplanation)
async def explain_term(
term_id: str,
request: TermExplainRequest,
@@ -327,7 +347,7 @@ async def explain_term(
raise HTTPException(status_code=500, detail=str(e))
-@app.get("/api/terms/stats", response_model=TermStats)
+@app.get("/api/rag/terms/stats", response_model=TermStats)
async def get_term_stats(term_db: PostgresVectorDB = Depends(get_term_db)):
"""용어 통계 조회"""
try:
@@ -349,7 +369,7 @@ async def get_term_stats(term_db: PostgresVectorDB = Depends(get_term_db)):
# 관련자료 API
# ============================================================================
-@app.post("/api/documents/search", response_model=List[DocumentSearchResult])
+@app.post("/api/rag/documents/search", response_model=List[DocumentSearchResult])
async def search_documents(
request: DocumentSearchRequest,
doc_db: AzureAISearchDB = Depends(get_doc_db),
@@ -395,7 +415,7 @@ async def search_documents(
raise HTTPException(status_code=500, detail=str(e))
-@app.get("/api/documents/stats", response_model=DocumentStats)
+@app.get("/api/rag/documents/stats", response_model=DocumentStats)
async def get_document_stats(doc_db: AzureAISearchDB = Depends(get_doc_db)):
"""문서 통계 조회"""
try:
@@ -417,7 +437,7 @@ async def get_document_stats(doc_db: AzureAISearchDB = Depends(get_doc_db)):
# RAG 회의록 API
# ============================================================================
-@app.post("/api/minutes/search", response_model=List[MinutesSearchResult])
+@app.post("/api/rag/minutes/search", response_model=List[MinutesSearchResult])
async def search_related_minutes(
request: MinutesSearchRequest,
rag_minutes_db: RagMinutesDB = Depends(get_rag_minutes_db),
@@ -461,7 +481,7 @@ async def search_related_minutes(
raise HTTPException(status_code=500, detail=str(e))
-@app.get("/api/minutes/{minutes_id}")
+@app.get("/api/rag/minutes/{minutes_id}")
async def get_minutes(
minutes_id: str,
rag_minutes_db: RagMinutesDB = Depends(get_rag_minutes_db)
@@ -489,7 +509,7 @@ async def get_minutes(
raise HTTPException(status_code=500, detail=str(e))
-@app.get("/api/minutes/stats")
+@app.get("/api/rag/minutes/stats")
async def get_minutes_stats(rag_minutes_db: RagMinutesDB = Depends(get_rag_minutes_db)):
"""회의록 통계 조회"""
try:
@@ -501,6 +521,123 @@ async def get_minutes_stats(rag_minutes_db: RagMinutesDB = Depends(get_rag_minut
raise HTTPException(status_code=500, detail=str(e))
+@app.post("/api/rag/minutes/related", response_model=List[RelatedMinutesResponse])
+async def get_related_minutes(
+ request: RelatedMinutesRequest,
+ rag_minutes_db: RagMinutesDB = Depends(get_rag_minutes_db),
+ embedding_gen: EmbeddingGenerator = Depends(get_embedding_gen),
+ redis_cache: RedisCache = Depends(get_redis_cache)
+):
+ """
+ 연관 회의록 조회 (Option A: DB 조회 후 벡터 검색 + Redis 캐싱)
+
+ Args:
+ request: 연관 회의록 조회 요청
+ - minute_id: 기준 회의록 ID
+ - meeting_title: 회의 제목 (미사용)
+ - summary: 회의록 요약 (미사용)
+ - top_k: 반환할 최대 결과 수
+ - similarity_threshold: 최소 유사도 임계값
+
+ Returns:
+ 연관 회의록 리스트
+
+ Process:
+ 1. Redis 캐시에서 연관 회의록 결과 조회
+ 2. 캐시 MISS 시:
+ a. minute_id로 rag_minutes 테이블에서 회의록 조회 (캐싱)
+ b. full_content를 벡터 임베딩으로 변환
+ c. 벡터 DB에서 유사도 검색 (자기 자신 제외)
+ d. 결과를 Redis에 캐싱
+ 3. 연관 회의록 목록 반환
+ """
+ try:
+ config = get_config()
+ cache_config = config.get("rag_minutes", {}).get("cache", {})
+ cache_prefix = cache_config.get("prefix", "minutes:")
+ minutes_ttl = cache_config.get("ttl", 1800)
+ related_ttl = cache_config.get("related_ttl", 3600)
+
+ logger.info(f"연관 회의록 조회 시작: minute_id={request.minute_id}")
+
+ # 1. 캐시 키 생성
+ related_cache_key = (
+ f"{cache_prefix}related:{request.minute_id}:"
+ f"{request.top_k}:{request.similarity_threshold}"
+ )
+
+ # 2. 캐시 조회
+ cached_results = redis_cache.get(related_cache_key)
+ if cached_results:
+ logger.info(f"연관 회의록 캐시 HIT: {related_cache_key}")
+ return [
+ RelatedMinutesResponse(**result)
+ for result in cached_results
+ ]
+
+ # 3. 캐시 MISS - DB 조회
+ logger.info(f"연관 회의록 캐시 MISS: {related_cache_key}")
+
+ # 3-1. 회의록 조회 (캐싱)
+ minutes_cache_key = f"{cache_prefix}{request.minute_id}"
+ base_minutes = redis_cache.get(minutes_cache_key)
+
+ if base_minutes:
+ logger.info(f"회의록 캐시 HIT: {minutes_cache_key}")
+ # RagMinutes 객체로 변환
+ from ..models.minutes import RagMinutes
+ base_minutes = RagMinutes(**base_minutes)
+ else:
+ logger.info(f"회의록 캐시 MISS: {minutes_cache_key}")
+ base_minutes = rag_minutes_db.get_minutes_by_id(request.minute_id)
+ if not base_minutes:
+ raise HTTPException(
+ status_code=404,
+ detail=f"회의록을 찾을 수 없습니다: {request.minute_id}"
+ )
+ # 캐시 저장
+ redis_cache.set(minutes_cache_key, base_minutes.dict(), minutes_ttl)
+
+ logger.info(f"기준 회의록 조회 완료: {base_minutes.title}")
+
+ # 3-2. full_content를 벡터 임베딩으로 변환
+ query_embedding = embedding_gen.generate_embedding(base_minutes.full_content)
+ logger.info(f"임베딩 생성 완료: {len(query_embedding)}차원")
+
+ # 3-3. 벡터 유사도 검색 (자기 자신 제외)
+ results = rag_minutes_db.search_by_vector(
+ query_embedding=query_embedding,
+ top_k=request.top_k,
+ similarity_threshold=request.similarity_threshold,
+ exclude_minutes_id=request.minute_id
+ )
+
+ # 4. 응답 형식으로 변환
+ related_minutes = [
+ RelatedMinutesResponse(
+ minutes=result["minutes"],
+ similarity_score=result["similarity_score"]
+ )
+ for result in results
+ ]
+
+ # 5. 결과 캐싱
+ redis_cache.set(
+ related_cache_key,
+ [r.dict() for r in related_minutes],
+ related_ttl
+ )
+
+ logger.info(f"연관 회의록 조회 완료: {len(related_minutes)}개 결과")
+ return related_minutes
+
+ except HTTPException:
+ raise
+ except Exception as e:
+ logger.error(f"연관 회의록 조회 실패: {str(e)}")
+ raise HTTPException(status_code=500, detail=str(e))
+
+
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
diff --git a/rag/src/db/__pycache__/rag_minutes_db.cpython-311.pyc b/rag/src/db/__pycache__/rag_minutes_db.cpython-311.pyc
index 2c7cbfe..7cbf029 100644
Binary files a/rag/src/db/__pycache__/rag_minutes_db.cpython-311.pyc and b/rag/src/db/__pycache__/rag_minutes_db.cpython-311.pyc differ
diff --git a/rag/src/db/rag_minutes_db.py b/rag/src/db/rag_minutes_db.py
index abc27cb..cd00f18 100644
--- a/rag/src/db/rag_minutes_db.py
+++ b/rag/src/db/rag_minutes_db.py
@@ -92,6 +92,8 @@ class RagMinutesDB:
if field in minutes_dict and minutes_dict[field]:
if isinstance(minutes_dict[field], datetime):
minutes_dict[field] = minutes_dict[field].isoformat()
+
+ minutes_dict.pop("embedding")
return RagMinutes(**minutes_dict)
@@ -189,7 +191,8 @@ class RagMinutesDB:
self,
query_embedding: List[float],
top_k: int = 5,
- similarity_threshold: float = 0.7
+ similarity_threshold: float = 0.7,
+ exclude_minutes_id: Optional[str] = None
) -> List[Dict[str, Any]]:
"""
벡터 유사도 검색
@@ -198,27 +201,34 @@ class RagMinutesDB:
query_embedding: 쿼리 임베딩 벡터
top_k: 반환할 최대 결과 수
similarity_threshold: 최소 유사도 임계값
+ exclude_minutes_id: 제외할 회의록 ID (연관 회의록 검색 시 자기 자신 제외)
Returns:
검색 결과 리스트
"""
with self.get_connection() as conn:
with conn.cursor(cursor_factory=RealDictCursor) as cur:
- cur.execute("""
+ # 제외 조건 추가
+ exclude_condition = ""
+ params = [query_embedding, query_embedding, similarity_threshold, query_embedding, top_k]
+
+ if exclude_minutes_id:
+ exclude_condition = "AND minutes_id != %s"
+ # 파라미터 순서: 처음 4개는 embedding 검색용, 5번째는 exclude용, 6번째는 limit용
+ params = [query_embedding, query_embedding, similarity_threshold, exclude_minutes_id, query_embedding, top_k]
+
+ query = f"""
SELECT *,
1 - (embedding <=> %s::vector) as similarity_score
FROM rag_minutes
WHERE embedding IS NOT NULL
AND 1 - (embedding <=> %s::vector) >= %s
+ {exclude_condition}
ORDER BY embedding <=> %s::vector
LIMIT %s
- """, (
- query_embedding,
- query_embedding,
- similarity_threshold,
- query_embedding,
- top_k
- ))
+ """
+
+ cur.execute(query, params)
results = []
for row in cur.fetchall():
@@ -229,7 +239,7 @@ class RagMinutesDB:
"similarity_score": float(similarity_score)
})
- logger.info(f"벡터 검색 완료: {len(results)}개 결과")
+ logger.info(f"벡터 검색 완료: {len(results)}개 결과 (exclude: {exclude_minutes_id})")
return results
def search_by_keyword(
diff --git a/rag/src/models/__pycache__/minutes.cpython-311.pyc b/rag/src/models/__pycache__/minutes.cpython-311.pyc
index ed05bce..ead0c5d 100644
Binary files a/rag/src/models/__pycache__/minutes.cpython-311.pyc and b/rag/src/models/__pycache__/minutes.cpython-311.pyc differ
diff --git a/rag/src/models/minutes.py b/rag/src/models/minutes.py
index d3b2ff3..abcd3f9 100644
--- a/rag/src/models/minutes.py
+++ b/rag/src/models/minutes.py
@@ -106,3 +106,41 @@ class MinutesSearchResult(BaseModel):
"similarity_score": 0.92
}
}
+
+
+class RelatedMinutesRequest(BaseModel):
+ """연관 회의록 조회 요청"""
+ minute_id: str = Field(..., description="기준 회의록 ID")
+ meeting_title: str = Field(..., description="회의 제목")
+ summary: str = Field(..., description="회의록 요약")
+ top_k: int = Field(5, ge=1, le=20, description="반환할 최대 결과 수")
+ similarity_threshold: float = Field(0.7, ge=0.0, le=1.0, description="최소 유사도 임계값")
+
+ class Config:
+ json_schema_extra = {
+ "example": {
+ "minute_id": "MIN-2025-001",
+ "meeting_title": "2025 Q1 마케팅 전략 회의",
+ "summary": "2025년 1분기 마케팅 전략 수립을 위한 회의",
+ "top_k": 5,
+ "similarity_threshold": 0.7
+ }
+ }
+
+
+class RelatedMinutesResponse(BaseModel):
+ """연관 회의록 조회 응답"""
+ minutes: RagMinutes
+ similarity_score: float = Field(..., ge=0.0, le=1.0, description="유사도 점수")
+
+ class Config:
+ json_schema_extra = {
+ "example": {
+ "minutes": {
+ "meeting_id": "MTG-2025-002",
+ "title": "2024 Q4 마케팅 성과 분석",
+ "minutes_id": "MIN-2024-050"
+ },
+ "similarity_score": 0.85
+ }
+ }
diff --git a/rag/src/services/__pycache__/eventhub_consumer.cpython-311.pyc b/rag/src/services/__pycache__/eventhub_consumer.cpython-311.pyc
index 8ffff59..9555a26 100644
Binary files a/rag/src/services/__pycache__/eventhub_consumer.cpython-311.pyc and b/rag/src/services/__pycache__/eventhub_consumer.cpython-311.pyc differ
diff --git a/rag/src/services/eventhub_consumer.py b/rag/src/services/eventhub_consumer.py
index 6a6c6ef..e844e25 100644
--- a/rag/src/services/eventhub_consumer.py
+++ b/rag/src/services/eventhub_consumer.py
@@ -1,6 +1,6 @@
"""
Azure Event Hub Consumer 서비스
-회의록 확정 이벤트를 consume하여 RAG 저장소에 저장
+회의록 확정 이벤트 및 세그먼트 생성 이벤트를 consume
"""
import asyncio
import json
@@ -13,7 +13,9 @@ from azure.eventhub.extensions.checkpointstoreblobaio import BlobCheckpointStore
from ..models.minutes import RagMinutes, MinutesSection
from ..db.rag_minutes_db import RagMinutesDB
+from ..db.postgres_vector import PostgresVectorDB
from ..utils.embedding import EmbeddingGenerator
+from ..utils.text_processor import extract_nouns_as_query
logger = logging.getLogger(__name__)
@@ -29,7 +31,9 @@ class EventHubConsumer:
storage_connection_string: str,
storage_container_name: str,
rag_minutes_db: RagMinutesDB,
- embedding_gen: EmbeddingGenerator
+ embedding_gen: EmbeddingGenerator,
+ term_db: Optional[PostgresVectorDB] = None,
+ config: Optional[Dict[str, Any]] = None
):
"""
초기화
@@ -42,6 +46,8 @@ class EventHubConsumer:
storage_container_name: Checkpoint 저장 컨테이너 이름
rag_minutes_db: RAG Minutes 데이터베이스
embedding_gen: Embedding 생성기
+ term_db: 용어집 데이터베이스 (선택)
+ config: 설정 딕셔너리 (선택)
"""
self.connection_string = connection_string
self.eventhub_name = eventhub_name
@@ -50,6 +56,8 @@ class EventHubConsumer:
self.storage_container_name = storage_container_name
self.rag_minutes_db = rag_minutes_db
self.embedding_gen = embedding_gen
+ self.term_db = term_db
+ self.config = config or {}
self.client: Optional[EventHubConsumerClient] = None
self.is_running = False
@@ -106,13 +114,18 @@ class EventHubConsumer:
event_body = event.body_as_str()
event_data = json.loads(event_body)
- logger.info(f"이벤트 수신: {event_data.get('eventType', 'unknown')}")
- logger.info(f"이벤트 수신: {event_data.get('data', 'unknown')}")
+ event_type = event_data.get('eventType', 'unknown')
+ logger.info(f"이벤트 수신: {event_type}")
- # 회의록 확정 이벤트 처리
- if event_data.get("eventType") == "MINUTES_FINALIZED":
+ # 이벤트 타입별 처리
+ if event_type == "MINUTES_FINALIZED":
+ # 회의록 확정 이벤트
await self._process_minutes_event(event_data)
+ elif event_type == "SegmentCreated":
+ # 세그먼트 생성 이벤트 - 용어검색 실행
+ await self._process_segment_event(event_data)
+
# Checkpoint 업데이트
await partition_context.update_checkpoint(event)
@@ -131,6 +144,110 @@ class EventHubConsumer:
"""
logger.error(f"Event Hub 에러 (Partition {partition_context.partition_id}): {str(error)}")
+ async def _process_segment_event(self, event_data: Dict[str, Any]):
+ """
+ 세그먼트 생성 이벤트 처리 - 용어검색 실행
+
+ Args:
+ event_data: 이벤트 데이터
+ """
+ try:
+ # 용어집 DB가 없으면 스킵
+ if not self.term_db:
+ logger.debug("용어집 DB가 설정되지 않아 용어검색을 스킵합니다")
+ return
+
+ # 세그먼트 데이터 추출
+ segment_id = event_data.get("segmentId")
+ text = event_data.get("text", "")
+ meeting_id = event_data.get("meetingId")
+
+ if not text:
+ logger.warning(f"세그먼트 {segment_id}에 텍스트가 없습니다")
+ return
+
+ logger.info(f"세그먼트 용어검색 시작: {segment_id} (회의: {meeting_id})")
+ logger.info(f"텍스트: {text[:100]}...")
+
+ # 1. 명사 추출하여 검색 쿼리 생성
+ search_query = extract_nouns_as_query(text)
+ logger.info(f"검색 쿼리 변환: '{text[:30]}...' → '{search_query}'")
+
+ # 2. 용어검색 설정
+ config = self.config.get("term_glossary", {})
+ search_config = config.get("search", {})
+
+ top_k = search_config.get("top_k", 5)
+ confidence_threshold = search_config.get("confidence_threshold", 0.7)
+ keyword_weight = search_config.get("keyword_weight", 0.4)
+ vector_weight = search_config.get("vector_weight", 0.6)
+
+ # 3. 키워드 검색
+ keyword_results = self.term_db.search_by_keyword(
+ query=search_query,
+ top_k=top_k,
+ confidence_threshold=confidence_threshold
+ )
+
+ # 4. 벡터 검색
+ query_embedding = self.embedding_gen.generate_embedding(search_query)
+ vector_results = self.term_db.search_by_vector(
+ query_embedding=query_embedding,
+ top_k=top_k,
+ confidence_threshold=confidence_threshold
+ )
+
+ # 5. 하이브리드 검색 결과 통합 (RRF)
+ results = []
+ seen_ids = set()
+
+ # 키워드 결과 가중치 적용
+ for result in keyword_results:
+ term_id = result["term"].term_id
+ if term_id not in seen_ids:
+ result["relevance_score"] *= keyword_weight
+ result["match_type"] = "hybrid"
+ results.append(result)
+ seen_ids.add(term_id)
+
+ # 벡터 결과 가중치 적용
+ for result in vector_results:
+ term_id = result["term"].term_id
+ if term_id not in seen_ids:
+ result["relevance_score"] *= vector_weight
+ result["match_type"] = "hybrid"
+ results.append(result)
+ seen_ids.add(term_id)
+ else:
+ # 이미 있는 경우 점수 합산
+ for r in results:
+ if r["term"].term_id == term_id:
+ r["relevance_score"] += result["relevance_score"] * vector_weight
+ break
+
+ # 점수 기준 재정렬
+ results.sort(key=lambda x: x["relevance_score"], reverse=True)
+ results = results[:top_k]
+
+ # 6. 검색 결과 로깅
+ if results:
+ logger.info(f"세그먼트 {segment_id} 용어검색 완료: {len(results)}개 발견")
+ for idx, result in enumerate(results, 1):
+ term = result["term"]
+ score = result["relevance_score"]
+ logger.info(
+ f" [{idx}] {term.term_name} "
+ f"(카테고리: {term.category}, 점수: {score:.3f})"
+ )
+ else:
+ logger.info(f"세그먼트 {segment_id}에서 매칭되는 용어를 찾지 못했습니다")
+
+ # 7. 선택적: 검색 결과를 별도 테이블에 저장하거나 Event Hub로 발행
+ # TODO: 필요시 검색 결과를 저장하거나 downstream 서비스로 전달
+
+ except Exception as e:
+ logger.error(f"세그먼트 이벤트 처리 실패: {str(e)}", exc_info=True)
+
def _convert_datetime_array_to_string(self, value: Union[str, List, None]) -> Optional[str]:
"""
Java LocalDateTime 배열을 ISO 8601 문자열로 변환
@@ -302,7 +419,8 @@ class EventHubConsumer:
async def start_consumer(
config: Dict[str, Any],
rag_minutes_db: RagMinutesDB,
- embedding_gen: EmbeddingGenerator
+ embedding_gen: EmbeddingGenerator,
+ term_db: Optional[PostgresVectorDB] = None
):
"""
Event Hub Consumer 시작 (비동기)
@@ -311,6 +429,7 @@ async def start_consumer(
config: 설정 딕셔너리
rag_minutes_db: RAG Minutes 데이터베이스
embedding_gen: Embedding 생성기
+ term_db: 용어집 데이터베이스 (선택)
"""
eventhub_config = config["eventhub"]
@@ -321,7 +440,9 @@ async def start_consumer(
storage_connection_string=eventhub_config["storage"]["connection_string"],
storage_container_name=eventhub_config["storage"]["container_name"],
rag_minutes_db=rag_minutes_db,
- embedding_gen=embedding_gen
+ embedding_gen=embedding_gen,
+ term_db=term_db,
+ config=config
)
try:
diff --git a/rag/src/utils/__pycache__/redis_cache.cpython-311.pyc b/rag/src/utils/__pycache__/redis_cache.cpython-311.pyc
new file mode 100644
index 0000000..128904e
Binary files /dev/null and b/rag/src/utils/__pycache__/redis_cache.cpython-311.pyc differ
diff --git a/rag/src/utils/redis_cache.py b/rag/src/utils/redis_cache.py
new file mode 100644
index 0000000..ff0ffc8
--- /dev/null
+++ b/rag/src/utils/redis_cache.py
@@ -0,0 +1,206 @@
+"""
+Redis 캐싱 유틸리티
+"""
+import redis
+import json
+import logging
+from typing import Optional, Any
+from functools import wraps
+
+logger = logging.getLogger(__name__)
+
+
+class RedisCache:
+ """Redis 캐싱 클래스"""
+
+ def __init__(
+ self,
+ host: str = "localhost",
+ port: int = 6379,
+ db: int = 0,
+ password: Optional[str] = None,
+ decode_responses: bool = True
+ ):
+ """
+ 초기화
+
+ Args:
+ host: Redis 호스트
+ port: Redis 포트
+ db: Redis DB 번호
+ password: Redis 비밀번호
+ decode_responses: 응답 디코딩 여부
+ """
+ try:
+ self.client = redis.Redis(
+ host=host,
+ port=port,
+ db=db,
+ password=password,
+ decode_responses=decode_responses
+ )
+ # 연결 테스트
+ self.client.ping()
+ logger.info(f"Redis 연결 성공: {host}:{port}")
+ except Exception as e:
+ logger.warning(f"Redis 연결 실패: {str(e)} - 캐싱 비활성화")
+ self.client = None
+
+ def get(self, key: str) -> Optional[Any]:
+ """
+ 캐시에서 값 조회
+
+ Args:
+ key: 캐시 키
+
+ Returns:
+ 캐시된 값 또는 None
+ """
+ if not self.client:
+ return None
+
+ try:
+ value = self.client.get(key)
+ if value:
+ logger.debug(f"캐시 HIT: {key}")
+ return json.loads(value)
+ logger.debug(f"캐시 MISS: {key}")
+ return None
+ except Exception as e:
+ logger.error(f"캐시 조회 실패 ({key}): {str(e)}")
+ return None
+
+ def set(self, key: str, value: Any, ttl: int = 3600) -> bool:
+ """
+ 캐시에 값 저장
+
+ Args:
+ key: 캐시 키
+ value: 저장할 값
+ ttl: 만료 시간 (초)
+
+ Returns:
+ 성공 여부
+ """
+ if not self.client:
+ return False
+
+ try:
+ serialized = json.dumps(value, ensure_ascii=False)
+ self.client.setex(key, ttl, serialized)
+ logger.debug(f"캐시 저장: {key} (TTL: {ttl}s)")
+ return True
+ except Exception as e:
+ logger.error(f"캐시 저장 실패 ({key}): {str(e)}")
+ return False
+
+ def delete(self, key: str) -> bool:
+ """
+ 캐시 삭제
+
+ Args:
+ key: 캐시 키
+
+ Returns:
+ 성공 여부
+ """
+ if not self.client:
+ return False
+
+ try:
+ self.client.delete(key)
+ logger.debug(f"캐시 삭제: {key}")
+ return True
+ except Exception as e:
+ logger.error(f"캐시 삭제 실패 ({key}): {str(e)}")
+ return False
+
+ def delete_pattern(self, pattern: str) -> int:
+ """
+ 패턴 매칭으로 여러 캐시 삭제
+
+ Args:
+ pattern: 캐시 키 패턴 (예: "minutes:*")
+
+ Returns:
+ 삭제된 키 개수
+ """
+ if not self.client:
+ return 0
+
+ try:
+ keys = self.client.keys(pattern)
+ if keys:
+ count = self.client.delete(*keys)
+ logger.info(f"캐시 일괄 삭제: {count}개 키 ({pattern})")
+ return count
+ return 0
+ except Exception as e:
+ logger.error(f"캐시 패턴 삭제 실패 ({pattern}): {str(e)}")
+ return 0
+
+ def exists(self, key: str) -> bool:
+ """
+ 캐시 존재 여부 확인
+
+ Args:
+ key: 캐시 키
+
+ Returns:
+ 존재 여부
+ """
+ if not self.client:
+ return False
+
+ try:
+ return self.client.exists(key) > 0
+ except Exception as e:
+ logger.error(f"캐시 존재 확인 실패 ({key}): {str(e)}")
+ return False
+
+
+def cached(prefix: str, ttl: int = 3600, key_builder=None):
+ """
+ 함수 결과 캐싱 데코레이터
+
+ Args:
+ prefix: 캐시 키 prefix
+ ttl: 만료 시간 (초)
+ key_builder: 캐시 키 생성 함수 (선택사항)
+
+ Example:
+ @cached(prefix="minutes:", ttl=1800)
+ def get_minutes_by_id(minutes_id: str):
+ ...
+ """
+ def decorator(func):
+ @wraps(func)
+ def wrapper(self, *args, **kwargs):
+ # Redis 캐시 인스턴스 확인
+ cache = getattr(self, '_cache', None)
+ if not cache or not cache.client:
+ return func(self, *args, **kwargs)
+
+ # 캐시 키 생성
+ if key_builder:
+ cache_key = key_builder(*args, **kwargs)
+ else:
+ # 기본: 첫 번째 인자를 키로 사용
+ cache_key = f"{prefix}{args[0] if args else ''}"
+
+ # 캐시 조회
+ cached_value = cache.get(cache_key)
+ if cached_value is not None:
+ return cached_value
+
+ # 함수 실행
+ result = func(self, *args, **kwargs)
+
+ # 결과 캐싱
+ if result is not None:
+ cache.set(cache_key, result, ttl)
+
+ return result
+
+ return wrapper
+ return decorator
diff --git a/rag/start_all.sh b/rag/start_all.sh
new file mode 100644
index 0000000..d4c9d11
--- /dev/null
+++ b/rag/start_all.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+# RAG 서비스 - API 서버와 Event Hub Consumer 동시 실행 스크립트
+
+set -e # 에러 발생 시 스크립트 종료
+
+echo "=========================================="
+echo "RAG 서비스 시작"
+echo "=========================================="
+
+# 로그 디렉토리 생성
+mkdir -p logs
+
+# Event Hub Consumer를 백그라운드로 실행
+echo "[1/2] Event Hub Consumer 시작..."
+python start_consumer.py > logs/consumer.log 2>&1 &
+CONSUMER_PID=$!
+echo "Consumer PID: $CONSUMER_PID"
+
+# API 서버 시작 (포그라운드)
+echo "[2/2] REST API 서버 시작..."
+python -m uvicorn src.api.main:app --host 0.0.0.0 --port 8000 &
+API_PID=$!
+echo "API Server PID: $API_PID"
+
+# PID 파일 저장
+echo $CONSUMER_PID > logs/consumer.pid
+echo $API_PID > logs/api.pid
+
+echo "=========================================="
+echo "RAG 서비스 시작 완료"
+echo " - API Server: http://0.0.0.0:8000"
+echo " - Consumer PID: $CONSUMER_PID"
+echo " - API PID: $API_PID"
+echo "=========================================="
+
+# 종료 시그널 처리 (graceful shutdown)
+trap "echo 'Shutting down...'; kill $CONSUMER_PID $API_PID; exit 0" SIGTERM SIGINT
+
+# 두 프로세스 모두 실행 중인지 모니터링
+while kill -0 $CONSUMER_PID 2>/dev/null && kill -0 $API_PID 2>/dev/null; do
+ sleep 5
+done
+
+# 하나라도 종료되면 모두 종료
+echo "One of the processes stopped. Shutting down all..."
+kill $CONSUMER_PID $API_PID 2>/dev/null || true
+wait
diff --git a/rag/start_all_services.py b/rag/start_all_services.py
new file mode 100644
index 0000000..56e0887
--- /dev/null
+++ b/rag/start_all_services.py
@@ -0,0 +1,180 @@
+"""
+RAG 서비스 통합 실행 스크립트
+API 서버와 Event Hub Consumer를 동시에 실행
+"""
+import asyncio
+import logging
+import multiprocessing
+import signal
+import sys
+import time
+from pathlib import Path
+
+import uvicorn
+
+from src.utils.config import load_config, get_database_url
+from src.db.rag_minutes_db import RagMinutesDB
+from src.db.postgres_vector import PostgresVectorDB
+from src.utils.embedding import EmbeddingGenerator
+from src.services.eventhub_consumer import start_consumer
+
+# 로깅 설정
+logging.basicConfig(
+ level=logging.INFO,
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
+)
+logger = logging.getLogger(__name__)
+
+
+def run_api_server():
+ """
+ REST API 서버 실행 (별도 프로세스)
+ """
+ try:
+ logger.info("=" * 50)
+ logger.info("REST API 서버 시작")
+ logger.info("=" * 50)
+
+ uvicorn.run(
+ "src.api.main:app",
+ host="0.0.0.0",
+ port=8000,
+ log_level="info",
+ access_log=True
+ )
+ except Exception as e:
+ logger.error(f"API 서버 실행 실패: {str(e)}")
+ sys.exit(1)
+
+
+def run_event_consumer():
+ """
+ Event Hub Consumer 실행 (별도 프로세스)
+ """
+ try:
+ logger.info("=" * 50)
+ logger.info("Event Hub Consumer 시작")
+ logger.info("=" * 50)
+
+ # 설정 로드
+ config_path = Path(__file__).parent / "config.yaml"
+ config = load_config(str(config_path))
+
+ # 데이터베이스 연결
+ db_url = get_database_url(config)
+ rag_minutes_db = RagMinutesDB(db_url)
+ logger.info("RAG Minutes DB 연결 완료")
+
+ # 용어집 데이터베이스 연결
+ term_db = PostgresVectorDB(db_url)
+ logger.info("용어집 DB 연결 완료")
+
+ # Embedding 생성기 초기화
+ azure_openai = config["azure_openai"]
+ embedding_gen = EmbeddingGenerator(
+ api_key=azure_openai["api_key"],
+ endpoint=azure_openai["endpoint"],
+ model=azure_openai["embedding_model"],
+ dimension=azure_openai["embedding_dimension"],
+ api_version=azure_openai["api_version"]
+ )
+ logger.info("Embedding 생성기 초기화 완료")
+
+ # Event Hub Consumer 시작
+ asyncio.run(start_consumer(config, rag_minutes_db, embedding_gen, term_db))
+
+ except KeyboardInterrupt:
+ logger.info("Consumer 종료 신호 수신")
+ except Exception as e:
+ logger.error(f"Consumer 실행 실패: {str(e)}")
+ sys.exit(1)
+
+
+def main():
+ """
+ 메인 함수: 두 프로세스를 생성하고 관리
+ """
+ logger.info("=" * 60)
+ logger.info("RAG 서비스 통합 시작")
+ logger.info(" - REST API 서버: http://0.0.0.0:8000")
+ logger.info(" - Event Hub Consumer: Background")
+ logger.info("=" * 60)
+
+ # 프로세스 생성
+ api_process = multiprocessing.Process(
+ target=run_api_server,
+ name="API-Server"
+ )
+ consumer_process = multiprocessing.Process(
+ target=run_event_consumer,
+ name="Event-Consumer"
+ )
+
+ # 종료 시그널 핸들러
+ def signal_handler(signum, frame):
+ logger.info("\n종료 신호 수신. 프로세스 종료 중...")
+
+ if api_process.is_alive():
+ logger.info("API 서버 종료 중...")
+ api_process.terminate()
+ api_process.join(timeout=5)
+ if api_process.is_alive():
+ api_process.kill()
+
+ if consumer_process.is_alive():
+ logger.info("Consumer 종료 중...")
+ consumer_process.terminate()
+ consumer_process.join(timeout=5)
+ if consumer_process.is_alive():
+ consumer_process.kill()
+
+ logger.info("모든 프로세스 종료 완료")
+ sys.exit(0)
+
+ # 시그널 핸들러 등록
+ signal.signal(signal.SIGTERM, signal_handler)
+ signal.signal(signal.SIGINT, signal_handler)
+
+ try:
+ # 프로세스 시작
+ api_process.start()
+ time.sleep(2) # API 서버 시작 대기
+
+ consumer_process.start()
+ time.sleep(2) # Consumer 시작 대기
+
+ logger.info("=" * 60)
+ logger.info("모든 서비스 시작 완료")
+ logger.info(f" - API Server PID: {api_process.pid}")
+ logger.info(f" - Consumer PID: {consumer_process.pid}")
+ logger.info("=" * 60)
+
+ # 프로세스 모니터링
+ while True:
+ if not api_process.is_alive():
+ logger.error("API 서버 프로세스 종료됨")
+ consumer_process.terminate()
+ break
+
+ if not consumer_process.is_alive():
+ logger.error("Consumer 프로세스 종료됨")
+ api_process.terminate()
+ break
+
+ time.sleep(5)
+
+ # 대기
+ api_process.join()
+ consumer_process.join()
+
+ except Exception as e:
+ logger.error(f"서비스 실행 중 에러: {str(e)}")
+ api_process.terminate()
+ consumer_process.terminate()
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ # multiprocessing을 위한 설정
+ multiprocessing.set_start_method('spawn', force=True)
+ main()
diff --git a/rag/start_consumer.py b/rag/start_consumer.py
index 7d47e83..7d35fbd 100644
--- a/rag/start_consumer.py
+++ b/rag/start_consumer.py
@@ -4,6 +4,7 @@ from pathlib import Path
from src.utils.config import load_config, get_database_url
from src.db.rag_minutes_db import RagMinutesDB
+from src.db.postgres_vector import PostgresVectorDB
from src.utils.embedding import EmbeddingGenerator
from src.services.eventhub_consumer import start_consumer
@@ -28,8 +29,11 @@ async def main():
# 데이터베이스 연결
db_url = get_database_url(config)
rag_minutes_db = RagMinutesDB(db_url)
+ logger.info("RAG Minutes DB 연결 완료")
- logger.info("데이터베이스 연결 완료")
+ # 용어집 데이터베이스 연결
+ term_db = PostgresVectorDB(db_url)
+ logger.info("용어집 DB 연결 완료")
# Embedding 생성기 초기화
azure_openai = config["azure_openai"]
@@ -45,7 +49,7 @@ async def main():
# Event Hub Consumer 시작
logger.info("Event Hub Consumer 시작...")
- await start_consumer(config, rag_minutes_db, embedding_gen)
+ await start_consumer(config, rag_minutes_db, embedding_gen, term_db)
except KeyboardInterrupt:
logger.info("프로그램 종료")