Description
Description
After upgrade to 5.2.4 from 4.1.14, the old changelog cannot be processed anymore.
PRIORITY
[CRITICAL]
Version and environment
Mongock
- Mongock version: 5.2.4
- Modules involved(springboot:3.0.5,MongoDB:4.2)
Reproduction
- Create changelog with 4.1.14
- Upgrade to 5.2.4
- Run project
Behaviour
Expected behavior: no exception
Actual behavior:
io.mongock.api.exception.MongockException: java.lang.RuntimeException: org.bson.Document cannot be cast to java.util.Date
at io.mongock.runner.core.executor.MongockRunnerImpl.execute(MongockRunnerImpl.java:71)
at io.mongock.runner.springboot.base.MongockApplicationRunner.run(MongockApplicationRunner.java:18)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:760)
... 5 common frames omitted
Caused by: java.lang.RuntimeException: org.bson.Document cannot be cast to java.util.Date
at io.mongock.utils.DateUtils.toDate(DateUtils.java:23)
at io.mongock.driver.mongodb.sync.v4.repository.MongoSync4ChangeEntryRepository.lambda$getEntriesLog$0(MongoSync4ChangeEntryRepository.java:116)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at io.mongock.driver.mongodb.sync.v4.repository.MongoSync4ChangeEntryRepository.getEntriesLog(MongoSync4ChangeEntryRepository.java:126)
at io.mongock.driver.api.entry.ChangeEntryService.getEntriesMap(ChangeEntryService.java:70)
at io.mongock.driver.api.entry.ChangeEntryService.getExecuted(ChangeEntryService.java:40)
at io.mongock.runner.core.executor.ChangeExecutorBase.loadExecutedChangeEntries(ChangeExecutorBase.java:437)
at io.mongock.runner.core.executor.system.SystemUpdateExecutor.executeMigration(SystemUpdateExecutor.java:64)
at io.mongock.runner.core.executor.system.SystemUpdateExecutor.executeMigration(SystemUpdateExecutor.java:22)
at io.mongock.runner.core.executor.MongockRunnerImpl.execute(MongockRunnerImpl.java:56)
... 7 common frames omitted
How often the bug happens: on every startup