From 8a5e99353fd4f36d66ecead4b4ca58e7aa841cd8 Mon Sep 17 00:00:00 2001 From: tkv00 Date: Tue, 16 Dec 2025 15:48:36 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix/#40:=20=EB=B0=B1=EC=A4=80=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EB=94=94=EA=B0=80=20initial=EC=9D=B8=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=EC=A0=9C=EC=99=B8=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logs/batch.log | 365 ------------------ .../batch/repository/UserJdbcRepository.java | 2 + 2 files changed, 2 insertions(+), 365 deletions(-) delete mode 100644 logs/batch.log diff --git a/logs/batch.log b/logs/batch.log deleted file mode 100644 index 0fba66a..0000000 --- a/logs/batch.log +++ /dev/null @@ -1,365 +0,0 @@ -2025-12-15 09:39:18 [restartedMain] INFO s.s.batch.SlackjudgeApplication - Starting SlackjudgeApplication using Java 17.0.8 with PID 36949 (/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main started by kimdoyeon in /Users/kimdoyeon/Desktop/Java(Project)/worker) -2025-12-15 09:39:18 [restartedMain] INFO s.s.batch.SlackjudgeApplication - No active profile set, falling back to 1 default profile: "default" -2025-12-15 09:39:18 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-12-15 09:39:18 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JDBC - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JDBC repository, consider annotating your entities with one of these annotations: org.springframework.data.relational.core.mapping.Table. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 JDBC repository interfaces. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 3 ms. Found 0 JPA repository interfaces. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data MongoDB repositories in DEFAULT mode. -2025-12-15 09:39:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 59 ms. Found 1 MongoDB repository interface. -2025-12-15 09:39:19 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) -2025-12-15 09:39:19 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] -2025-12-15 09:39:19 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-12-15 09:39:19 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.33] -2025-12-15 09:39:19 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-12-15 09:39:19 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 726 ms -2025-12-15 09:39:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2025-12-15 09:39:19 [restartedMain] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@26b35794 -2025-12-15 09:39:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2025-12-15 09:39:19 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-12-15 09:39:19 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.6.2.Final -2025-12-15 09:39:19 [restartedMain] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled -2025-12-15 09:39:19 [restartedMain] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer -2025-12-15 09:39:20 [restartedMain] INFO o.hibernate.orm.connections.pooling - HHH10001005: Database info: - Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] - Database driver: undefined/unknown - Database version: 14.18 - Autocommit mode: undefined/unknown - Isolation level: undefined/unknown - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2025-12-15 09:39:20 [restartedMain] 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-12-15 09:39:20 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-12-15 09:39:20 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'slackJudgeBatchRunner' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/SlackJudgeBatchRunner.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'batchConfig' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/config/BatchConfig.class]: Unsatisfied dependency expressed through constructor parameter 4: Error creating bean with name 'saveSnapshotTasklet' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/tasklet/SaveSnapshotTasklet.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSnapShotService' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/infra/mongo/service/UserSnapShotService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' -2025-12-15 09:39:20 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-12-15 09:39:20 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... -2025-12-15 09:39:20 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. -2025-12-15 09:39:20 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-12-15 09:39:20 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLogger - - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2025-12-15 09:39:20 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'slackJudgeBatchRunner' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/SlackJudgeBatchRunner.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'batchConfig' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/config/BatchConfig.class]: Unsatisfied dependency expressed through constructor parameter 4: Error creating bean with name 'saveSnapshotTasklet' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/tasklet/SaveSnapshotTasklet.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSnapShotService' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/infra/mongo/service/UserSnapShotService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) - at store.slackjudge.batch.SlackjudgeApplication.main(SlackjudgeApplication.java:10) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:568) - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'batchConfig' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/config/BatchConfig.class]: Unsatisfied dependency expressed through constructor parameter 4: Error creating bean with name 'saveSnapshotTasklet' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/tasklet/SaveSnapshotTasklet.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSnapShotService' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/infra/mongo/service/UserSnapShotService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:413) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1351) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1568) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 26 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'saveSnapshotTasklet' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/tasklet/SaveSnapshotTasklet.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSnapShotService' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/infra/mongo/service/UserSnapShotService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1568) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 48 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userSnapShotService' defined in file [/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main/store/slackjudge/batch/infra/mongo/service/UserSnapShotService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) - at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1626) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 61 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userSolvedSnapShotRepository' defined in store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations' - at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) - at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1701) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1450) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1626) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 75 common frames omitted -Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'mongoTemplate' defined in class path resource [org/springframework/boot/autoconfigure/data/mongo/MongoDatabaseFactoryDependentConfiguration.class]: Unsatisfied dependency expressed through method 'mongoTemplate' parameter 0: Error creating bean with name 'mongoDatabaseFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/mongo/MongoDatabaseFactoryConfiguration.class]: Failed to instantiate [org.springframework.data.mongodb.core.MongoDatabaseFactorySupport]: Factory method 'mongoDatabaseFactory' threw exception with message: Database name must not be empty - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1351) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) - ... 89 common frames omitted -Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatabaseFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/mongo/MongoDatabaseFactoryConfiguration.class]: Failed to instantiate [org.springframework.data.mongodb.core.MongoDatabaseFactorySupport]: Factory method 'mongoDatabaseFactory' threw exception with message: Database name must not be empty - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1351) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) - at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1626) - at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514) - at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) - at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) - ... 99 common frames omitted -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.mongodb.core.MongoDatabaseFactorySupport]: Factory method 'mongoDatabaseFactory' threw exception with message: Database name must not be empty - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:199) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) - at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) - ... 113 common frames omitted -Caused by: java.lang.IllegalArgumentException: Database name must not be empty - at org.springframework.util.Assert.hasText(Assert.java:253) - at org.springframework.data.mongodb.core.MongoDatabaseFactorySupport.(MongoDatabaseFactorySupport.java:67) - at org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory.(SimpleMongoClientDatabaseFactory.java:75) - at org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory.(SimpleMongoClientDatabaseFactory.java:64) - at org.springframework.boot.autoconfigure.data.mongo.MongoDatabaseFactoryConfiguration.mongoDatabaseFactory(MongoDatabaseFactoryConfiguration.java:52) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:568) - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) - ... 116 common frames omitted -2025-12-15 09:40:17 [restartedMain] INFO s.s.batch.SlackjudgeApplication - Starting SlackjudgeApplication using Java 17.0.8 with PID 37021 (/Users/kimdoyeon/Desktop/Java(Project)/worker/slackjudge/build/classes/java/main started by kimdoyeon in /Users/kimdoyeon/Desktop/Java(Project)/worker) -2025-12-15 09:40:17 [restartedMain] INFO s.s.batch.SlackjudgeApplication - No active profile set, falling back to 1 default profile: "default" -2025-12-15 09:40:17 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-12-15 09:40:17 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JDBC - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JDBC repository, consider annotating your entities with one of these annotations: org.springframework.data.relational.core.mapping.Table. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 0 JDBC repository interfaces. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 2 ms. Found 0 JPA repository interfaces. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data MongoDB repositories in DEFAULT mode. -2025-12-15 09:40:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 54 ms. Found 1 MongoDB repository interface. -2025-12-15 09:40:17 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) -2025-12-15 09:40:17 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] -2025-12-15 09:40:17 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-12-15 09:40:17 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.33] -2025-12-15 09:40:17 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-12-15 09:40:17 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 681 ms -2025-12-15 09:40:17 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... -2025-12-15 09:40:17 [restartedMain] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@4f9b407 -2025-12-15 09:40:17 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. -2025-12-15 09:40:17 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-12-15 09:40:17 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.6.2.Final -2025-12-15 09:40:17 [restartedMain] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled -2025-12-15 09:40:18 [restartedMain] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer -2025-12-15 09:40:18 [restartedMain] INFO o.hibernate.orm.connections.pooling - HHH10001005: Database info: - Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] - Database driver: undefined/unknown - Database version: 14.18 - Autocommit mode: undefined/unknown - Isolation level: undefined/unknown - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2025-12-15 09:40:18 [restartedMain] 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-12-15 09:40:18 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-srv-mini2.nvkuj9n.mongodb.net] DEBUG org.mongodb.driver.connection - Connection pool created for ac-iyrb8jd-shard-00-02.nvkuj9n.mongodb.net:27017 using options maxIdleTimeMS=0, minPoolSize=0, maxPoolSize=100, maxConnecting=2, waitQueueTimeoutMS=120000 -2025-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-srv-mini2.nvkuj9n.mongodb.net] DEBUG org.mongodb.driver.connection - Connection pool created for ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 using options maxIdleTimeMS=0, minPoolSize=0, maxPoolSize=100, maxConnecting=2, waitQueueTimeoutMS=120000 -2025-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-srv-mini2.nvkuj9n.mongodb.net] DEBUG org.mongodb.driver.connection - Connection pool created for ac-iyrb8jd-shard-00-00.nvkuj9n.mongodb.net:27017 using options maxIdleTimeMS=0, minPoolSize=0, maxPoolSize=100, maxConnecting=2, waitQueueTimeoutMS=120000 -2025-12-15 09:40:18 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-12-15 09:40:18 [restartedMain] 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-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-ac-iyrb8jd-shard-00-02.nvkuj9n.mongodb.net:27017] DEBUG org.mongodb.driver.connection - Connection pool ready for ac-iyrb8jd-shard-00-02.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-ac-iyrb8jd-shard-00-00.nvkuj9n.mongodb.net:27017] DEBUG org.mongodb.driver.connection - Connection pool ready for ac-iyrb8jd-shard-00-00.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:18 [cluster-ClusterId{value='693f58f26e5e4c76094d679d', description='null'}-ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017] DEBUG org.mongodb.driver.connection - Connection pool ready for ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:18 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] -2025-12-15 09:40:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/' -2025-12-15 09:40:18 [restartedMain] INFO s.s.batch.SlackjudgeApplication - Started SlackjudgeApplication in 2.082 seconds (process running for 2.491) -2025-12-15 09:40:18 [restartedMain] INFO s.s.batch.SlackJudgeBatchRunner - Slack Judge Batch Container Start now time = 2025-12-15T09:40:18.915009 -2025-12-15 09:40:18 [restartedMain] INFO o.s.b.c.l.s.TaskExecutorJobLauncher - Job: [SimpleJob: [name=slackJudge]] launched with the following parameters: [{'batchTime':'{value=2025-12-15T09:40:18.915009, type=class java.time.LocalDateTime, identifying=true}'}] -2025-12-15 09:40:18 [restartedMain] INFO s.s.batch.config.BatchLogger - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃ slackJudge STARTED -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ -┃ Job Name : slackJudge -┃ Started At : 2025-12-15T09:40:18.968120 -┃ Worker Node : SlackJudge Batch Worker #1 -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ -2025-12-15 09:40:18 [restartedMain] ERROR s.s.b.i.s.sender.SlackWebhookSender - [sending slack message] send message failed Error : Expected URL scheme 'http' or 'https' but no scheme was found for -2025-12-15 09:40:19 [restartedMain] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [LoadAllUsersStep] -2025-12-15 09:40:19 [restartedMain] INFO s.s.batch.config.BatchLogger - -────────────────────────────────────────────── -▶ STEP: LoadAllUsersTasklet START -2025-12-15 09:40:19 [restartedMain] INFO s.s.batch.config.BatchLogger - ✓ STEP: LoadAllUsersTasklet DONE | usersSize=2, duration=2 -────────────────────────────────────────────── -2025-12-15 09:40:19 [restartedMain] INFO o.s.batch.core.step.AbstractStep - Step: [LoadAllUsersStep] executed in 10ms -2025-12-15 09:40:19 [restartedMain] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [LoadSnapshotStep] -2025-12-15 09:40:19 [restartedMain] INFO s.s.batch.config.BatchLogger - -────────────────────────────────────────────── -▶ STEP: LoadSnapshotTasklet START -2025-12-15 09:40:19 [restartedMain] DEBUG o.s.data.mongodb.core.MongoTemplate - find using query: { "_id.bojId" : "tkv00", "_id.snapShotAt" : { "$date" : "2025-12-14T23:00:00Z"}} fields: Document{{}} sort: { "_id.bojId" : "tkv00", "_id.snapShotAt" : { "$java" : 2025-12-15T08:00 } } for class: class store.slackjudge.batch.infra.mongo.document.UserSolvedSnapShotDocument in collection: snapshot -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Checkout started for connection to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection created: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection ready: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, established in=177 ms -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked out: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, duration=178 ms -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "find" started on database "snapshot" using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 13 and the operation ID is 11. Command: {"find": "snapshot", "filter": {"_id.bojId": "tkv00", "_id.snapShotAt": {"$date": "2025-12-14T23:00:00Z"}}, "limit": 2, "$db": "snapshot", "lsid": {"id": {"$binary": {"base64": "ULGuX912SCiGGHWxVDPssA==", "subType": "04"}}}} -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "find" succeeded on database "snapshot" in 24.62725 ms using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 13 and the operation ID is 11. Command reply: {"cursor": {"firstBatch": [], "id": 0, "ns": "snapshot.snapshot"}, "ok": 1.0, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759219, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "+QDNB2OkQjp1xWAfLiMCl5esVfo=", "subType": "00"}}, "keyId": 7521773700044029957}}, "operationTime": {"$timestamp": {"t": 1765759219, "i": 1}}} -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked in: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:19 [restartedMain] DEBUG o.s.data.mongodb.core.MongoTemplate - find using query: { "_id.bojId" : "tkv00123", "_id.snapShotAt" : { "$date" : "2025-12-14T23:00:00Z"}} fields: Document{{}} sort: { "_id.bojId" : "tkv00123", "_id.snapShotAt" : { "$java" : 2025-12-15T08:00 } } for class: class store.slackjudge.batch.infra.mongo.document.UserSolvedSnapShotDocument in collection: snapshot -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Checkout started for connection to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked out: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, duration=0 ms -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "find" started on database "snapshot" using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 14 and the operation ID is 12. Command: {"find": "snapshot", "filter": {"_id.bojId": "tkv00123", "_id.snapShotAt": {"$date": "2025-12-14T23:00:00Z"}}, "limit": 2, "$db": "snapshot", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759219, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "+QDNB2OkQjp1xWAfLiMCl5esVfo=", "subType": "00"}}, "keyId": 7521773700044029957}}, "lsid": {"id": {"$binary": {"base64": "ULGuX912SCiGGHWxVDPssA==", "subType": "04"}}}} -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "find" succeeded on database "snapshot" in 22.655916 ms using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 14 and the operation ID is 12. Command reply: {"cursor": {"firstBatch": [], "id": 0, "ns": "snapshot.snapshot"}, "ok": 1.0, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759219, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "+QDNB2OkQjp1xWAfLiMCl5esVfo=", "subType": "00"}}, "keyId": 7521773700044029957}}, "operationTime": {"$timestamp": {"t": 1765759219, "i": 1}}} -2025-12-15 09:40:19 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked in: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:19 [restartedMain] INFO s.s.batch.config.BatchLogger - ✓ STEP: LoadSnapshotTasklet DONE | usersSnapshotSize=, 2, duration=, 262 -────────────────────────────────────────────── -2025-12-15 09:40:19 [restartedMain] INFO o.s.batch.core.step.AbstractStep - Step: [LoadSnapshotStep] executed in 281ms -2025-12-15 09:40:19 [restartedMain] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [FetchSolvedAcUserInfoStep] -2025-12-15 09:40:19 [restartedMain] INFO s.s.batch.config.BatchLogger - -────────────────────────────────────────────── -▶ STEP: FetchSolvedAcUserInfoTasklet START -2025-12-15 09:40:19 [restartedMain] 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-12-15 09:40:20 [restartedMain] INFO s.s.batch.config.BatchLogger - ✓ STEP: FetchSolvedAcUserInfoTasklet DONE | fetched=, 2, totalUserSize=, 2, duration=, 979 -────────────────────────────────────────────── -2025-12-15 09:40:20 [restartedMain] INFO o.s.batch.core.step.AbstractStep - Step: [FetchSolvedAcUserInfoStep] executed in 987ms -2025-12-15 09:40:20 [restartedMain] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [detectAndUpdateUserTierAndProblemStep] -2025-12-15 09:40:20 [restartedMain] INFO s.s.batch.config.BatchLogger - -────────────────────────────────────────────── -▶ STEP: DetectAndUpdateUserTierAndProblemTasklet START -2025-12-15 09:40:20 [restartedMain] INFO s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] user : tkv00, total problems : 380 -2025-12-15 09:40:21 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 2/8 -2025-12-15 09:40:21 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 3/8 -2025-12-15 09:40:22 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 4/8 -2025-12-15 09:40:22 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 5/8 -2025-12-15 09:40:23 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 6/8 -2025-12-15 09:40:23 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 7/8 -2025-12-15 09:40:24 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 8/8 -2025-12-15 09:40:24 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:1][BOJ:tkv00] [1000, 1001, 1003, 1005, 1008, 1011, 1012, 1021, 1026, 1043, 1068, 1074, 1106, 1138, 1149, 1158, 1167, 1181, 1182, 1189, 1197, 1202, 1238, 1240, 1244, 1253, 1260, 1261, 1309, 1325, 1368, 1389, 1406, 1431, 1446, 1456, 1461, 1463, 1475, 1504, 1507, 1516, 1520, 1522, 1541, 1546, 1600, 1620, 1629, 1644, 1647, 1654, 1676, 1697, 1707, 1715, 1717, 1719, 1744, 1747, 1749, 1753, 1759, 1764, 1766, 1780, 1786, 1788, 1799, 1806, 1822, 1850, 1874, 1904, 1912, 1915, 1916, 1919, 1920, 1926, 1927, 1929, 1931, 1932, 1934, 1940, 1941, 1946, 1956, 1963, 1967, 1976, 1978, 1987, 1991, 1992, 2003, 2004, 2011, 2018, 2023, 2042, 2056, 2075, 2096, 2110, 2133, 2146, 2156, 2164, 2166, 2169, 2170, 2178, 2193, 2206, 2212, 2217, 2225, 2230, 2239, 2240, 2250, 2251, 2252, 2293, 2294, 2295, 2302, 2331, 2343, 2357, 2438, 2447, 2468, 2482, 2493, 2501, 2512, 2531, 2533, 2557, 2558, 2573, 2577, 2579, 2580, 2583, 2606, 2607, 2609, 2615, 2617, 2623, 2630, 2644, 2655, 2660, 2667, 2743, 2750, 2751, 2805, 2839, 2847, 2910, 3055, 3190, 3273, 3584, 3986, 4179, 4485, 4803, 4883, 4948, 4949, 5014, 5052, 5214, 5397, 5427, 5430, 5567, 5648, 6118, 6198, 6593, 6603, 7432, 7562, 7569, 7576, 7662, 7785, 7795, 9012, 9084, 9093, 9095, 9202, 9251, 9252, 9372, 9375, 9461, 9465, 9466, 9655, 9663, 10026, 10430, 10451, 10773, 10799, 10804, 10807, 10808, 10814, 10820, 10824, 10825, 10828, 10844, 10845, 10866, 10872, 10942, 10950, 10986, 10989, 10998, 11000, 11003, 11047, 11048, 11050, 11052, 11053, 11055, 11057, 11279, 11286, 11328, 11399, 11403, 11404, 11478, 11501, 11505, 11559, 11650, 11651, 11652, 11655, 11656, 11657, 11659, 11660, 11720, 11723, 11724, 11725, 11726, 11727, 11729, 11758, 11780, 11931, 11967, 12100, 12852, 12865, 12891, 12904, 12919, 13023, 13300, 13335, 13398, 13414, 13549, 13913, 13975, 14002, 14267, 14426, 14442, 14499, 14500, 14501, 14502, 14503, 14567, 14719, 14725, 14888, 14889, 14890, 14891, 14938, 14940, 15486, 15649, 15650, 15651, 15652, 15654, 15681, 15683, 15684, 15685, 15686, 15688, 15903, 15988, 15989, 16165, 16172, 16234, 16236, 16398, 16401, 16918, 16927, 16935, 16985, 16987, 17070, 17086, 17087, 17140, 17141, 17144, 17182, 17219, 17281, 17352, 17386, 17404, 17406, 17413, 17471, 17478, 17615, 17626, 18258, 18352, 18428, 18429, 18808, 18809, 18869, 18870, 19564, 19583, 19700, 19941, 20040, 20055, 20056, 20125, 20166, 20366, 20922, 20955, 21276, 21318, 21608, 21610, 21736, 21921, 21939, 21940, 22233, 22862, 23288, 23326, 23351, 25757] -2025-12-15 09:40:24 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:1][BOJ:tkv00] New user -2025-12-15 09:40:24 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:1][BOJ:tkv00] New User Tier updated : 16 -2025-12-15 09:40:24 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:1][BOJ:tkv00] New User Problems updated : 380 -2025-12-15 09:40:25 [restartedMain] INFO s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] user : tkv00123, total problems : 51 -2025-12-15 09:40:25 [restartedMain] DEBUG s.s.b.i.s.c.SolvedAcProblemInfoClient - [fetchAllProblems] Fetched page 2/2 -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:2][BOJ:tkv00123] [1043, 1149, 1197, 1202, 1240, 1463, 1647, 1707, 1759, 1916, 1932, 1941, 2042, 2170, 2206, 2240, 2252, 2293, 2573, 2623, 2660, 4179, 5052, 5214, 5427, 7576, 7662, 9095, 9466, 9663, 10026, 10423, 11404, 11780, 11967, 14002, 14267, 14426, 14499, 14500, 14725, 15486, 15681, 15683, 15684, 15686, 16235, 17135, 17471, 20055, 23326] -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:2][BOJ:tkv00123] New user -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:2][BOJ:tkv00123] New User Tier updated : 9 -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - [INFO][USER:2][BOJ:tkv00123] New User Problems updated : 51 -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - ✓ STEP: DetectAndUpdateUserTierAndProblemTasklet DONE | new=2, updated=0, failed=0, total=2, duration=5631 -────────────────────────────────────────────── -2025-12-15 09:40:25 [restartedMain] INFO o.s.batch.core.step.AbstractStep - Step: [detectAndUpdateUserTierAndProblemStep] executed in 5s650ms -2025-12-15 09:40:25 [restartedMain] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [saveSnapshotStep] -2025-12-15 09:40:25 [restartedMain] INFO s.s.batch.config.BatchLogger - -────────────────────────────────────────────── -▶ STEP: SaveSnapshotTasklet START -2025-12-15 09:40:25 [restartedMain] DEBUG o.s.data.mongodb.core.MongoTemplate - Saving Document containing fields: [_id, problems_ids, solved_count, tier, rating, user_id, _class] -2025-12-15 09:40:25 [restartedMain] DEBUG org.mongodb.driver.connection - Checkout started for connection to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:25 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked out: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, duration=0 ms -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "update" started on database "snapshot" using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 15 and the operation ID is 13. Command: {"update": "snapshot", "ordered": true, "txnNumber": 1, "$db": "snapshot", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759219, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "+QDNB2OkQjp1xWAfLiMCl5esVfo=", "subType": "00"}}, "keyId": 7521773700044029957}}, "lsid": {"id": {"$binary": {"base64": "ULGuX912SCiGGHWxVDPssA==", "subType": "04"}}}, "updates": [{"q": {"_id": {"bojId": "tkv00", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}}, "u": {"_id": {"bojId": "tkv00", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}, "problems_ids": [3584, 1026, 11780, 1541, 17413, 2056, 1546, 2573, 16398, 11279, 5648, 2577, 16401, 1043, 2579, 2580, 10773, 11286, 16918, 2583, 13335, 2075, 15903, 16927, 9251, 9252, 16935, 14888, 14889, 14890, 14891, 1068, 2606, 2607, 10799, 2096, 2609, 1074, 10804, 12852, 6198, 2615, 10807, 10808, 2617, 2110, 10814, 2623, 17471, 1600, 11328, 12865, 10820, 2630, 17478, 10824, 20040, 10825, 10828, 1106, 4179, 1620, 2644, 2133, 13398, 20055, 20056, 13913 ... -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "update" succeeded on database "snapshot" in 54.666166 ms using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 15 and the operation ID is 13. Command reply: {"n": 1, "electionId": {"$oid": "7fffffff00000000000000eb"}, "opTime": {"ts": {"$timestamp": {"t": 1765759226, "i": 3}}, "t": 235}, "upserted": [{"index": 0, "_id": {"bojId": "tkv00", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}}], "nModified": 0, "ok": 1.0, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759226, "i": 3}}, "signature": {"hash": {"$binary": {"base64": "nSegshtoEVh96+UOvwLOa0bJXiw=", "subType": "00"}}, "keyId": 7521773700044029957}}, "operationTime": {"$timestamp": {"t": 1765759226, "i": 3}}} -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked in: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:26 [restartedMain] DEBUG o.s.data.mongodb.core.MongoTemplate - Saving Document containing fields: [_id, problems_ids, solved_count, tier, rating, user_id, _class] -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.connection - Checkout started for connection to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked out: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, duration=0 ms -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "update" started on database "snapshot" using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 16 and the operation ID is 14. Command: {"update": "snapshot", "ordered": true, "txnNumber": 2, "$db": "snapshot", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759226, "i": 3}}, "signature": {"hash": {"$binary": {"base64": "nSegshtoEVh96+UOvwLOa0bJXiw=", "subType": "00"}}, "keyId": 7521773700044029957}}, "lsid": {"id": {"$binary": {"base64": "ULGuX912SCiGGHWxVDPssA==", "subType": "04"}}}, "updates": [{"q": {"_id": {"bojId": "tkv00123", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}}, "u": {"_id": {"bojId": "tkv00123", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}, "problems_ids": [11780, 14725, 9095, 1932, 11404, 2573, 1043, 1941, 7576, 2206, 23326, 14499, 14500, 10026, 1707, 1197, 1202, 14002, 5427, 1463, 10423, 14267, 5052, 2623, 9663, 11967, 17471, 2240, 15681, 15683, 15684, 15686, 2252, 4179, 20055, 1240, 14426, 5214, 1759, 2660, 16235, 7662, 1647, 17135, 2293, 2042, 2170, 9466, 1916, 1149, 15486], "solved_count": 51, "tier": 9, "rating": 0, "user_id": 2, "_class": "store.slackjudge.batch.infra.mongo.doc ... -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.protocol.command - Command "update" succeeded on database "snapshot" in 29.47125 ms using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 16 and the operation ID is 14. Command reply: {"n": 1, "electionId": {"$oid": "7fffffff00000000000000eb"}, "opTime": {"ts": {"$timestamp": {"t": 1765759226, "i": 4}}, "t": 235}, "upserted": [{"index": 0, "_id": {"bojId": "tkv00123", "snapShotAt": {"$date": "2025-12-15T00:00:00Z"}}}], "nModified": 0, "ok": 1.0, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759226, "i": 4}}, "signature": {"hash": {"$binary": {"base64": "nSegshtoEVh96+UOvwLOa0bJXiw=", "subType": "00"}}, "keyId": 7521773700044029957}}, "operationTime": {"$timestamp": {"t": 1765759226, "i": 4}}} -2025-12-15 09:40:26 [restartedMain] DEBUG org.mongodb.driver.connection - Connection checked in: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:26 [restartedMain] INFO s.s.batch.config.BatchLogger - ✓ STEP: SaveSnapshotTasklet DONE | duration=, 124 -────────────────────────────────────────────── -2025-12-15 09:40:26 [restartedMain] INFO o.s.batch.core.step.AbstractStep - Step: [saveSnapshotStep] executed in 129ms -2025-12-15 09:40:26 [restartedMain] INFO s.s.batch.config.BatchLogger - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -┃ BATCH SUMMARY ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ -┃ Total Users : 2 -┃ Changed Users : 2 -┃ Failed Users : 0 -┃ Total Duration : 7133 ms -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ -slackJudge COMPLETED -2025-12-15 09:40:26 [restartedMain] ERROR s.s.b.i.s.sender.SlackWebhookSender - [sending slack message] send message failed Error : Expected URL scheme 'http' or 'https' but no scheme was found for -2025-12-15 09:40:26 [restartedMain] INFO o.s.b.c.l.s.TaskExecutorJobLauncher - Job: [SimpleJob: [name=slackJudge]] completed with the following parameters: [{'batchTime':'{value=2025-12-15T09:40:18.915009, type=class java.time.LocalDateTime, identifying=true}'}] and the following status: [COMPLETED] in 7s133ms -2025-12-15 09:40:26 [restartedMain] INFO s.s.batch.SlackJudgeBatchRunner - Slack Judge Batch Complete -2025-12-15 09:40:26 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete -2025-12-15 09:40:26 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Checkout started for connection to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection checked out: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7, duration=0 ms -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.protocol.command - Command "endSessions" started on database "admin" using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 17 and the operation ID is 1. Command: {"endSessions": [{"id": {"$binary": {"base64": "ULGuX912SCiGGHWxVDPssA==", "subType": "04"}}}], "$db": "admin", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759226, "i": 4}}, "signature": {"hash": {"$binary": {"base64": "nSegshtoEVh96+UOvwLOa0bJXiw=", "subType": "00"}}, "keyId": 7521773700044029957}}, "$readPreference": {"mode": "primaryPreferred"}} -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.protocol.command - Command "endSessions" succeeded on database "admin" in 25.03025 ms using a connection with driver-generated ID 7 and server-generated ID 265146 to ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017. The request ID is 17 and the operation ID is 1. Command reply: {"ok": 1.0, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1765759226, "i": 4}}, "signature": {"hash": {"$binary": {"base64": "nSegshtoEVh96+UOvwLOa0bJXiw=", "subType": "00"}}, "keyId": 7521773700044029957}}, "operationTime": {"$timestamp": {"t": 1765759226, "i": 4}}} -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection checked in: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7 -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection pool closed for ac-iyrb8jd-shard-00-00.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection pool closed for ac-iyrb8jd-shard-00-02.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection closed: address=ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017, driver-generated ID=7. Reason: Connection pool was closed. -2025-12-15 09:40:26 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection pool closed for ac-iyrb8jd-shard-00-01.nvkuj9n.mongodb.net:27017 -2025-12-15 09:40:26 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-12-15 09:40:26 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... -2025-12-15 09:40:26 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. diff --git a/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java b/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java index a5a5d19..cb2ee71 100644 --- a/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java +++ b/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java @@ -31,6 +31,8 @@ public List findAllUserInfo() { boj_tier FROM users + WHERE + baekjoon_id != 'initial' """; return jdbcTemplate.query(sql, ((rs, rowNum) -> From 4b390489a18af28a7e3e6dce48c8898a81b21d88 Mon Sep 17 00:00:00 2001 From: tkv00 Date: Tue, 16 Dec 2025 15:55:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix/#40:=20initial=20=EC=83=81=EC=88=98?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../slackjudge/batch/repository/UserJdbcRepository.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java b/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java index cb2ee71..7ee20e4 100644 --- a/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java +++ b/slackjudge/src/main/java/store/slackjudge/batch/repository/UserJdbcRepository.java @@ -11,6 +11,7 @@ @Repository @RequiredArgsConstructor public class UserJdbcRepository { + private static final String INITIAL_BAEKJOON_ID="initial"; private final JdbcTemplate jdbcTemplate; /*========================== @@ -32,7 +33,7 @@ public List findAllUserInfo() { FROM users WHERE - baekjoon_id != 'initial' + baekjoon_id <> ? """; return jdbcTemplate.query(sql, ((rs, rowNum) -> @@ -40,7 +41,9 @@ public List findAllUserInfo() { rs.getString("baekjoon_id"), rs.getLong("user_id"), rs.getInt("boj_tier") - ))); + )), + INITIAL_BAEKJOON_ID + ); } From 2266129899d82a8bf2458d5b18b0a9784fdaed76 Mon Sep 17 00:00:00 2001 From: tkv00 Date: Tue, 16 Dec 2025 16:06:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?test/#40:=20=EB=B0=B1=EC=A4=80=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EB=94=94=EA=B0=80=20initial=EC=9D=B8=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=EC=A0=9C=EC=99=B8=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EA=B2=80=EC=A6=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slackjudge/logs/batch.log | 32 ++++++++++ .../repository/UserJdbcRepositoryTest.java | 62 ++++++++++++++----- 2 files changed, 78 insertions(+), 16 deletions(-) diff --git a/slackjudge/logs/batch.log b/slackjudge/logs/batch.log index e924c46..2c60a1a 100644 --- a/slackjudge/logs/batch.log +++ b/slackjudge/logs/batch.log @@ -150,3 +150,35 @@ 2025-12-15 17:12:00 [Test worker] INFO o.s.b.c.l.s.TaskExecutorJobLauncher - Job: [SimpleJob: [name=slackJudge]] completed with the following parameters: [{'batchTime':'{value=2025-12-15T17:12:00.542972, type=class java.time.LocalDateTime, identifying=true}'}] and the following status: [COMPLETED] in 127ms 2025-12-15 17:12:00 [SpringApplicationShutdownHook] DEBUG org.mongodb.driver.connection - Connection pool closed for localhost:27017 2025-12-15 17:12:00 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:03:17 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-12-16 16:03:17 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-12-16 16:03:17 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-12-16 16:03:17 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 0 JPA repository interfaces. +2025-12-16 16:03:18 [Test worker] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-12-16 16:03:24 [Test worker] 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-12-16 16:03:25 [Test worker] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:03:26 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:03:57 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-12-16 16:03:57 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-12-16 16:03:57 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-12-16 16:03:57 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 0 JPA repository interfaces. +2025-12-16 16:03:57 [Test worker] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-12-16 16:03:59 [Test worker] 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-12-16 16:04:00 [Test worker] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:04:01 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:04:25 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-12-16 16:04:25 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-12-16 16:04:25 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-12-16 16:04:25 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 0 JPA repository interfaces. +2025-12-16 16:04:26 [Test worker] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-12-16 16:04:28 [Test worker] 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-12-16 16:04:28 [Test worker] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:04:30 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:05:22 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-12-16 16:05:22 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-12-16 16:05:22 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data JPA - Could not safely identify store assignment for repository candidate interface store.slackjudge.batch.infra.mongo.repository.UserSolvedSnapShotRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-12-16 16:05:22 [Test worker] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25 ms. Found 0 JPA repository interfaces. +2025-12-16 16:05:22 [Test worker] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-12-16 16:05:25 [Test worker] 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-12-16 16:05:25 [Test worker] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-12-16 16:05:27 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' diff --git a/slackjudge/src/test/java/store/slackjudge/batch/repository/UserJdbcRepositoryTest.java b/slackjudge/src/test/java/store/slackjudge/batch/repository/UserJdbcRepositoryTest.java index fe4af7f..2dc4cf0 100644 --- a/slackjudge/src/test/java/store/slackjudge/batch/repository/UserJdbcRepositoryTest.java +++ b/slackjudge/src/test/java/store/slackjudge/batch/repository/UserJdbcRepositoryTest.java @@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; + @ActiveProfiles("test") @EnablePostgresTest @DataJpaTest @@ -42,10 +43,10 @@ INSERT INTO users (slack_id, baekjoon_id, user_name, boj_tier, team_name,total_s """; Object[][] dummyUsers = { - {"slack1", "test1", "user1", 10, "teamA",100}, - {"slack2", "test2", "user2", 20, "teamA",200}, - {"slack3", "test3", "user3", 30, "teamB",300}, - {"slack4", "test4", "user4", 40, "teamB",400} + {"slack1", "test1", "user1", 10, "teamA", 100}, + {"slack2", "test2", "user2", 20, "teamA", 200}, + {"slack3", "test3", "user3", 30, "teamB", 300}, + {"slack4", "test4", "user4", 40, "teamB", 400} }; for (Object[] user : dummyUsers) { @@ -58,38 +59,67 @@ INSERT INTO users (slack_id, baekjoon_id, user_name, boj_tier, team_name,total_s @DisplayName("모든 유저를 조회하고 UserInfo 형식의 리스트 반환") void findAllUserInfo() { //given & when - List results=repository.findAllUserInfo(); + List results = repository.findAllUserInfo(); //then assertThat(results).isNotEmpty(); assertThat(results.size()).isEqualTo(4); - List bojIds=new ArrayList<>(); - for (UserInfo info:results){ + List bojIds = new ArrayList<>(); + for (UserInfo info : results) { bojIds.add(info.baekJoonId()); } - assertThat(bojIds).containsExactlyInAnyOrder("test1","test2","test3","test4"); + assertThat(bojIds).containsExactlyInAnyOrder("test1", "test2", "test3", "test4"); } @Test @DisplayName("유저의 새로운 티어를 업데이트") void updateUsersTier() { //given - String bojId="test3"; //test3 유저 업데이트 - int newTier=42; - int newSolvedCount=3333; + String bojId = "test3"; //test3 유저 업데이트 + int newTier = 42; + int newSolvedCount = 3333; //when - repository.updateUsersTier(bojId,newTier,newSolvedCount); + repository.updateUsersTier(bojId, newTier, newSolvedCount); //then - String tierSql="SELECT boj_tier FROM users WHERE baekjoon_id = ?"; - String countSql="SELECT total_solved_count FROM users WHERE baekjoon_id = ?"; + String tierSql = "SELECT boj_tier FROM users WHERE baekjoon_id = ?"; + String countSql = "SELECT total_solved_count FROM users WHERE baekjoon_id = ?"; - String fetchUsersTier=jdbcTemplate.queryForObject(tierSql,String.class,bojId); - Integer solvedCount=jdbcTemplate.queryForObject(countSql,Integer.class,bojId); + String fetchUsersTier = jdbcTemplate.queryForObject(tierSql, String.class, bojId); + Integer solvedCount = jdbcTemplate.queryForObject(countSql, Integer.class, bojId); assertThat(fetchUsersTier).isEqualTo(String.valueOf(newTier)); assertThat(solvedCount).isEqualTo(newSolvedCount); } + + @Test + @DisplayName("백준 아이디가 initial이면 조회하지 않습니다.") + void notSearchEmptyUser() { + //given + Object[][] dummyUsers = { + {"slack5", "initial", "user5", 40, "teamB", 400} //<-조회되면 안됨 + }; + + String insert = """ + INSERT INTO users (slack_id, baekjoon_id, user_name, boj_tier, team_name,total_solved_count) + VALUES (?, ?, ?, ?, ?,?) + """; + + for (Object[] user : dummyUsers) { + jdbcTemplate.update(insert, user); + } + + //when + List userInfos=repository.findAllUserInfo(); + + //then + assertThat(userInfos).isNotEmpty(); + List findUsersBaekjoonIds=new ArrayList<>(); + userInfos.forEach(u->findUsersBaekjoonIds.add(u.baekJoonId())); + + assertThat(userInfos.size()).isEqualTo(4); + assertThat(findUsersBaekjoonIds).containsExactlyInAnyOrder("test1","test2","test3","test4"); + } } \ No newline at end of file