discourse/discourse · error · MetaDataError

Version is not in a valid format.

Error message

Version is not in a valid format.

What it means

Error "Version is not in a valid format." thrown in discourse/discourse.

Source

Thrown at lib/backup_restore/meta_data_handler.rb:23

  MigrationRequiredError = Class.new(RuntimeError)

  class MetaDataHandler
    METADATA_FILE = "meta.json"

    delegate :log, to: :@logger, private: true

    def initialize(logger, filename, tmp_directory)
      @logger = logger
      @current_version = BackupRestore.current_version
      @filename = filename
      @tmp_directory = tmp_directory
    end

    def validate
      metadata = extract_metadata

      if !metadata[:version].is_a?(Integer)
        raise MetaDataError.new("Version is not in a valid format.")
      end

      log "Validating metadata..."
      log "  Current version: #{@current_version}"
      log "  Restored version: #{metadata[:version]}"

      if metadata[:version] > @current_version
        raise MigrationRequiredError.new(
                "You're trying to restore a more recent version of the schema. " \
                  "You should migrate first!",
              )
      end

      metadata
    end

    protected

View on GitHub (pinned to 1b2d7253e8)

When it happens

Trigger: Thrown at lib/backup_restore/meta_data_handler.rb:23 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of discourse/discourse@1b2d7253e8 (2026-08-26). Data as JSON: /api/errors/ef94f753aad33768. Report an issue: GitHub.