Missing scheduled jobs when site is restored from a dataset from an older version of Confluence

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 9.2.0, 10.1.1
    • Component/s: Server - Jobs
    • None
    • Severity 3 - Minor

      Issue Summary

      If the site is restored from an older version of Confluence to a newer version some scheduled jobs might not be registered. Also occasional exceptions might be logged for registered jobs about their parameters. This is also related to jobs not refreshing after the restore

      Steps to Reproduce

      1. Create a new instance without a data set.
      2. Restore site with data set build with an older version of confuence.

      Expected Results

      The site should be restored correctly and any new scheduled jobs added in the current version of Confluence should be able to run and display in the scheduled job page for the admins

      Actual Results

      Some are not running, like Background Jobs Service

      The below exception is thrown in the logs when a job is unable to deserialise the restored job:

      2025-11-17 04:50:00,053 ERROR [Caesium-1-1] [scheduler.caesium.impl.CaesiumSchedulerService] executeClusteredJobWithRecoveryGuard Unhandled exception during the attempt to execute job 'batchingJobConfig'; will attempt recovery in 60 seconds
      com.atlassian.scheduler.SchedulerRuntimeException: The parameters cannot be accessed: java.io.StreamCorruptedException: invalid stream header: 636B3877
      	at com.atlassian.scheduler.core.status.UnusableJobDetails.getParameters(UnusableJobDetails.java:48)
      	at com.atlassian.scheduler.core.status.LazyJobDetails.getParameters(LazyJobDetails.java:82)
      	at com.atlassian.confluence.impl.schedule.caesium.ConfluenceSchedulerService.enqueueJob(ConfluenceSchedulerService.java:131)
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:537)
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(CaesiumSchedulerService.java:566)
      	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:442)
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
      	at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: java.io.StreamCorruptedException: invalid stream header: 636B3877
      	at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:989)
      	at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:416)
      	at com.atlassian.scheduler.core.util.ClassLoaderAwareObjectInputStream.<init>(ClassLoaderAwareObjectInputStream.java:25)
      	at com.atlassian.confluence.impl.util.serialize.SecureClassLoaderAwareObjectInputStream.<init>(SecureClassLoaderAwareObjectInputStream.java:21)
      	at com.atlassian.confluence.impl.schedule.caesium.SecureParameterMapSerializer.createObjectInputStream(SecureParameterMapSerializer.java:72)
      	at com.atlassian.scheduler.core.util.ParameterMapSerializer.deserializeParameters(ParameterMapSerializer.java:73)
      	at com.atlassian.scheduler.core.status.LazyJobDetails$1.create(LazyJobDetails.java:65)
      	at com.atlassian.scheduler.core.status.LazyJobDetails$1.create(LazyJobDetails.java:54)
      	at io.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:332)
      	at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150)
      	at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116)
      	at com.atlassian.scheduler.core.status.LazyJobDetails.getDelegate(LazyJobDetails.java:103)
      	... 9 more 

      Workaround

      Restart the instance so the jobs are registered correctly.

            Assignee:
            Unassigned
            Reporter:
            Saba Taseer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: