{"record":{"id":"ef94f753aad33768","repo":"discourse/discourse","slug":"version-is-not-in-a-valid-format","errorCode":null,"errorMessage":"Version is not in a valid format.","messagePattern":"Version is not in a valid format\\.","errorType":"exception","errorClass":"MetaDataError","httpStatus":null,"severity":"error","filePath":"lib/backup_restore/meta_data_handler.rb","lineNumber":23,"sourceCode":"  MigrationRequiredError = Class.new(RuntimeError)\n\n  class MetaDataHandler\n    METADATA_FILE = \"meta.json\"\n\n    delegate :log, to: :@logger, private: true\n\n    def initialize(logger, filename, tmp_directory)\n      @logger = logger\n      @current_version = BackupRestore.current_version\n      @filename = filename\n      @tmp_directory = tmp_directory\n    end\n\n    def validate\n      metadata = extract_metadata\n\n      if !metadata[:version].is_a?(Integer)\n        raise MetaDataError.new(\"Version is not in a valid format.\")\n      end\n\n      log \"Validating metadata...\"\n      log \"  Current version: #{@current_version}\"\n      log \"  Restored version: #{metadata[:version]}\"\n\n      if metadata[:version] > @current_version\n        raise MigrationRequiredError.new(\n                \"You're trying to restore a more recent version of the schema. \" \\\n                  \"You should migrate first!\",\n              )\n      end\n\n      metadata\n    end\n\n    protected\n","sourceCodeStart":5,"sourceCodeEnd":41,"githubUrl":"https://github.com/discourse/discourse/blob/1b2d7253e854205d2c95c80b2c6a1cdd42e45059/lib/backup_restore/meta_data_handler.rb#L5-L41","documentation":"Error \"Version is not in a valid format.\" thrown in discourse/discourse.","triggerScenarios":"Thrown at lib/backup_restore/meta_data_handler.rb:23 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1b2d7253e854205d2c95c80b2c6a1cdd42e45059","analyzedAt":"2026-08-26T03:11:08.302Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}