Code review comment: do we need add this operationtype to doris-2.0 branch?

Code under review:
public void readFields(DataInput in) throws IOException {
        opCode = in.readShort();
        
        
        boolean isRead = false;
        LOG.debug("get opcode: {}", opCode);
        switch (opCode) {
            case OperationType.OP_LOCAL_EOF: {
                data = null;
                isRead = true;
                break;
            }
            case OperationType.OP_SAVE_NEXTID: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SAVE_TRANSACTION_ID: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_DB: {
                data = Database.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_DB: {
                data = DropDbInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_DB:
            case OperationType.OP_RENAME_DB: {
                data = new DatabaseInfo();
                ((DatabaseInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_TABLE: {
                data = new CreateTableInfo();
                ((CreateTableInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_TABLE: {
                data = DropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_EXTERNAL_TABLE_SCHEMA: {
                data = RefreshExternalTableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_PARTITION: {
                data = new PartitionPersistInfo();
                ((PartitionPersistInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_PARTITION: {
                data = DropPartitionInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_PARTITION: {
                data = ModifyPartitionInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_MODIFY_PARTITION: {
                data = BatchModifyPartitionsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ERASE_DB:
            case OperationType.OP_ERASE_TABLE:
            case OperationType.OP_ERASE_PARTITION: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RECOVER_DB:
            case OperationType.OP_RECOVER_TABLE:
            case OperationType.OP_RECOVER_PARTITION: {
                data = RecoverInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ROLLUP: {
                data = DropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_DROP_ROLLUP: {
                data = BatchDropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RENAME_TABLE:
            case OperationType.OP_RENAME_ROLLUP:
            case OperationType.OP_RENAME_PARTITION: {
                data = new TableInfo();
                ((TableInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RENAME_COLUMN: {
                data = TableRenameColumnInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_VIEW_DEF: {
                data = AlterViewInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKUP_JOB: {
                data = BackupJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RESTORE_JOB: {
                data = RestoreJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_FINISH_CONSISTENCY_CHECK: {
                data = new ConsistencyCheckInfo();
                ((ConsistencyCheckInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_LOAD_START:
            case OperationType.OP_LOAD_ETL:
            case OperationType.OP_LOAD_LOADING:
            case OperationType.OP_LOAD_QUORUM:
            case OperationType.OP_LOAD_DONE:
            case OperationType.OP_LOAD_CANCEL: {
                data = new LoadJob();
                ((LoadJob) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_EXPORT_CREATE:
                data = ExportJob.read(in);
                isRead = true;
                break;
            case OperationType.OP_EXPORT_UPDATE_STATE:
                data = ExportJobStateTransfer.read(in);
                isRead = true;
                break;
            case OperationType.OP_FINISH_DELETE: {
                data = DeleteInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_REPLICA:
            case OperationType.OP_UPDATE_REPLICA:
            case OperationType.OP_DELETE_REPLICA:
            case OperationType.OP_CLEAR_ROLLUP_INFO: {
                data = ReplicaPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_BACKEND:
            case OperationType.OP_DROP_BACKEND:
            case OperationType.OP_MODIFY_BACKEND:
            case OperationType.OP_BACKEND_STATE_CHANGE: {
                data = Backend.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_FRONTEND:
            case OperationType.OP_ADD_FIRST_FRONTEND:
            case OperationType.OP_MODIFY_FRONTEND:
            case OperationType.OP_REMOVE_FRONTEND: {
                data = Frontend.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_LOAD_ERROR_HUB: {
                data = new LoadErrorHub.Param();
                ((LoadErrorHub.Param) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_NEW_DROP_USER: {
                data = UserIdentity.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_USER:
            case OperationType.OP_GRANT_PRIV:
            case OperationType.OP_REVOKE_PRIV:
            case OperationType.OP_SET_PASSWORD:
            case OperationType.OP_CREATE_ROLE:
            case OperationType.OP_DROP_ROLE: {
                data = PrivInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_LDAP_PASSWORD: {
                data = LdapInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_USER_PROPERTY: {
                data = UserPropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MASTER_INFO_CHANGE: {
                data = MasterInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_TIMESTAMP: {
                data = new Timestamp();
                ((Timestamp) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_META_VERSION: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_CLUSTER: {
                data = Cluster.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_BROKER:
            case OperationType.OP_DROP_BROKER: {
                data = new BrokerMgr.ModifyBrokerInfo();
                ((BrokerMgr.ModifyBrokerInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ALL_BROKER: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPSERT_TRANSACTION_STATE:
            case OperationType.OP_DELETE_TRANSACTION_STATE: {
                data = new TransactionState();
                ((TransactionState) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_REMOVE_TXNS: {
                data = BatchRemoveTransactionsOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_REMOVE_TXNS_V2: {
                data = BatchRemoveTransactionsOperationV2.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_TABLE_STATUS: {
                data = SetTableStatusOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_REPOSITORY: {
                data = Repository.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_REPOSITORY: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_TRUNCATE_TABLE: {
                data = TruncateTableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_COLOCATE_ADD_TABLE:
            case OperationType.OP_COLOCATE_REMOVE_TABLE:
            case OperationType.OP_COLOCATE_BACKENDS_PER_BUCKETSEQ:
            case OperationType.OP_COLOCATE_MARK_UNSTABLE:
            case OperationType.OP_COLOCATE_MARK_STABLE: {
                data = ColocatePersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_COLOCATE: {
                data = TablePropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_HEARTBEAT: {
                data = HbPackage.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_FUNCTION: {
                data = Function.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_FUNCTION: {
                data = FunctionSearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_GLOBAL_FUNCTION: {
                data = Function.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_GLOBAL_FUNCTION: {
                data = FunctionSearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ENCRYPTKEY: {
                data = EncryptKey.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ENCRYPTKEY: {
                data = EncryptKeySearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKEND_TABLETS_INFO: {
                data = BackendTabletsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKEND_REPLICAS_INFO: {
                data = BackendReplicasInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ROUTINE_LOAD_JOB: {
                data = RoutineLoadJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_ROUTINE_LOAD_JOB:
            case OperationType.OP_REMOVE_ROUTINE_LOAD_JOB: {
                data = RoutineLoadOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_SCHEDULER_JOB:
            case OperationType.OP_DELETE_SCHEDULER_JOB:
            case OperationType.OP_CREATE_SCHEDULER_JOB: {
                Job job = Job.readFields(in);
                data = job;
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SCHEDULER_TASK:
            case OperationType.OP_DELETE_SCHEDULER_TASK: {
                JobTask task = JobTask.readFields(in);
                data = task;
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_LOAD_JOB: {
                data = org.apache.doris.load.loadv2.LoadJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_END_LOAD_JOB: {
                data = LoadJobFinalOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_LOAD_JOB: {
                data = LoadJobStateUpdateInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SYNC_JOB: {
                data = SyncJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_SYNC_JOB_STATE: {
                data = SyncJob.SyncJobUpdateStateInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_FETCH_STREAM_LOAD_RECORD: {
                data = FetchStreamLoadRecord.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_RESOURCE:
            case OperationType.OP_ALTER_RESOURCE: {
                data = Resource.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_RESOURCE: {
                data = DropResourceOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SMALL_FILE:
            case OperationType.OP_DROP_SMALL_FILE: {
                data = SmallFile.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_JOB_V2: {
                data = AlterJobV2.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_COOLDOWN_CONF: {
                data = CooldownConfList.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_COOLDOWN_DELETE: {
                data = CooldownDelete.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_ADD_ROLLUP: {
                data = BatchAlterJobPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_DISTRIBUTION_TYPE: {
                data = TableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_REPLICA_STATUS: {
                data = SetReplicaStatusOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_REPLICA_VERSION: {
                data = SetReplicaVersionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_PARTITION_VERSION: {
                data = SetPartitionVersionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DYNAMIC_PARTITION:
            case OperationType.OP_MODIFY_IN_MEMORY:
            case OperationType.OP_MODIFY_REPLICATION_NUM:
            case OperationType.OP_UPDATE_BINLOG_CONFIG: {
                data = ModifyTablePropertyOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_DISTRIBUTION_BUCKET_NUM: {
                data = ModifyTableDefaultDistributionBucketNumOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REPLACE_TEMP_PARTITION: {
                data = ReplacePartitionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INSTALL_PLUGIN: {
                data = PluginInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UNINSTALL_PLUGIN: {
                data = PluginInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REMOVE_ALTER_JOB_V2: {
                data = RemoveAlterJobV2OperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_COMMENT: {
                data = ModifyCommentOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_ROUTINE_LOAD_JOB: {
                data = AlterRoutineLoadJobOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_GLOBAL_VARIABLE_V2: {
                data = GlobalVarPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REPLACE_TABLE: {
                data = ReplaceTableOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SQL_BLOCK_RULE: {
                data = SqlBlockRule.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_SQL_BLOCK_RULE: {
                data = SqlBlockRule.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_SQL_BLOCK_RULE: {
                data = DropSqlBlockRuleOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_ENGINE: {
                data = ModifyTableEngineOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_POLICY: {
                data = Policy.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_POLICY: {
                data = DropPolicyLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_STORAGE_POLICY: {
                data = StoragePolicy.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_CATALOG:
            case OperationType.OP_DROP_CATALOG:
            case OperationType.OP_ALTER_CATALOG_NAME:
            case OperationType.OP_ALTER_CATALOG_PROPS:
            case OperationType.OP_REFRESH_CATALOG: {
                data = CatalogLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_CATALOG: {
                data = InitCatalogLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_EXTERNAL_DB: {
                data = InitDatabaseLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_EXTERNAL_TABLE: {
                data = InitTableLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REFRESH_EXTERNAL_DB:
            case OperationType.OP_DROP_EXTERNAL_TABLE:
            case OperationType.OP_CREATE_EXTERNAL_TABLE:
            case OperationType.OP_DROP_EXTERNAL_DB:
            case OperationType.OP_CREATE_EXTERNAL_DB:
            case OperationType.OP_ADD_EXTERNAL_PARTITIONS:
            case OperationType.OP_DROP_EXTERNAL_PARTITIONS:
            case OperationType.OP_REFRESH_EXTERNAL_PARTITIONS:
            case OperationType.OP_REFRESH_EXTERNAL_TABLE: {
                data = ExternalObjectLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_LIGHT_SCHEMA_CHANGE: {
                data = TableAddOrDropColumnsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_ADD_OR_DROP_INVERTED_INDICES: {
                data = TableAddOrDropInvertedIndicesInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INVERTED_INDEX_JOB: {
                data = IndexChangeJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CLEAN_LABEL: {
                data = CleanLabelOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_MTMV_JOB: {
                data = MTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_MTMV_JOB: {
                data = DropMTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_MTMV_JOB: {
                data = ChangeMTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_MTMV_TASK: {
                data = MTMVTask.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_MTMV_TASK: {
                data = DropMTMVTask.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_MTMV_TASK: {
                Text.readString(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_MTMV_STMT: {
                data = AlterMultiMaterializedView.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_USER: {
                data = AlterUserOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_WORKLOAD_GROUP:
            case OperationType.OP_ALTER_WORKLOAD_GROUP: {
                data = WorkloadGroup.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_WORKLOAD_GROUP: {
                data = DropWorkloadGroupOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_LIGHT_SCHEMA_CHANGE: {
                data = AlterLightSchemaChangeInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CLEAN_QUERY_STATS: {
                data = CleanQueryStatsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ANALYSIS_JOB: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ANALYSIS_TASK: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_ANALYSIS_JOB: {
                data = AnalyzeDeletionLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_ANALYSIS_TASK: {
                data = AnalyzeDeletionLog.read(in);
                break;
            }
            case OperationType.OP_UPDATE_AUTO_INCREMENT_ID: {
                data = AutoIncrementIdUpdateLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_DATABASE_PROPERTY: {
                data = AlterDatabasePropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_GC_BINLOG: {
                data = BinlogGcInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BARRIER: {
                data = BarrierLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_TABLE_STATS: {
                data = TableStats.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_PERSIST_AUTO_JOB: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_TABLE_STATS: {
                data = TableStatsDeletionLog.read(in);
                isRead = true;
                break;
            }
            default: {
                IOException e = new IOException();
                LOG.error("UNKNOWN Operation Type {}", opCode, e);
                throw e;
            }
        } 
        Preconditions.checkState(isRead);
    }

Line commented on: case OperationType.OP_DELETE_TABLE_STATS: {

Revised code:
public void readFields(DataInput in) throws IOException {
        opCode = in.readShort();
        
        
        boolean isRead = false;
        LOG.debug("get opcode: {}", opCode);
        switch (opCode) {
            case OperationType.OP_LOCAL_EOF: {
                data = null;
                isRead = true;
                break;
            }
            case OperationType.OP_SAVE_NEXTID: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SAVE_TRANSACTION_ID: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_DB: {
                data = Database.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_DB: {
                data = DropDbInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_DB:
            case OperationType.OP_RENAME_DB: {
                data = new DatabaseInfo();
                ((DatabaseInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_TABLE: {
                data = new CreateTableInfo();
                ((CreateTableInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_TABLE: {
                data = DropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_EXTERNAL_TABLE_SCHEMA: {
                data = RefreshExternalTableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_PARTITION: {
                data = new PartitionPersistInfo();
                ((PartitionPersistInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_PARTITION: {
                data = DropPartitionInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_PARTITION: {
                data = ModifyPartitionInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_MODIFY_PARTITION: {
                data = BatchModifyPartitionsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ERASE_DB:
            case OperationType.OP_ERASE_TABLE:
            case OperationType.OP_ERASE_PARTITION: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RECOVER_DB:
            case OperationType.OP_RECOVER_TABLE:
            case OperationType.OP_RECOVER_PARTITION: {
                data = RecoverInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ROLLUP: {
                data = DropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_DROP_ROLLUP: {
                data = BatchDropInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RENAME_TABLE:
            case OperationType.OP_RENAME_ROLLUP:
            case OperationType.OP_RENAME_PARTITION: {
                data = new TableInfo();
                ((TableInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RENAME_COLUMN: {
                data = TableRenameColumnInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_VIEW_DEF: {
                data = AlterViewInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKUP_JOB: {
                data = BackupJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_RESTORE_JOB: {
                data = RestoreJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_FINISH_CONSISTENCY_CHECK: {
                data = new ConsistencyCheckInfo();
                ((ConsistencyCheckInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_LOAD_START:
            case OperationType.OP_LOAD_ETL:
            case OperationType.OP_LOAD_LOADING:
            case OperationType.OP_LOAD_QUORUM:
            case OperationType.OP_LOAD_DONE:
            case OperationType.OP_LOAD_CANCEL: {
                data = new LoadJob();
                ((LoadJob) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_EXPORT_CREATE:
                data = ExportJob.read(in);
                isRead = true;
                break;
            case OperationType.OP_EXPORT_UPDATE_STATE:
                data = ExportJobStateTransfer.read(in);
                isRead = true;
                break;
            case OperationType.OP_FINISH_DELETE: {
                data = DeleteInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_REPLICA:
            case OperationType.OP_UPDATE_REPLICA:
            case OperationType.OP_DELETE_REPLICA:
            case OperationType.OP_CLEAR_ROLLUP_INFO: {
                data = ReplicaPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_BACKEND:
            case OperationType.OP_DROP_BACKEND:
            case OperationType.OP_MODIFY_BACKEND:
            case OperationType.OP_BACKEND_STATE_CHANGE: {
                data = Backend.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_FRONTEND:
            case OperationType.OP_ADD_FIRST_FRONTEND:
            case OperationType.OP_MODIFY_FRONTEND:
            case OperationType.OP_REMOVE_FRONTEND: {
                data = Frontend.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_LOAD_ERROR_HUB: {
                data = new LoadErrorHub.Param();
                ((LoadErrorHub.Param) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_NEW_DROP_USER: {
                data = UserIdentity.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_USER:
            case OperationType.OP_GRANT_PRIV:
            case OperationType.OP_REVOKE_PRIV:
            case OperationType.OP_SET_PASSWORD:
            case OperationType.OP_CREATE_ROLE:
            case OperationType.OP_DROP_ROLE: {
                data = PrivInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_LDAP_PASSWORD: {
                data = LdapInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_USER_PROPERTY: {
                data = UserPropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MASTER_INFO_CHANGE: {
                data = MasterInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_TIMESTAMP: {
                data = new Timestamp();
                ((Timestamp) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_META_VERSION: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_CLUSTER: {
                data = Cluster.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_BROKER:
            case OperationType.OP_DROP_BROKER: {
                data = new BrokerMgr.ModifyBrokerInfo();
                ((BrokerMgr.ModifyBrokerInfo) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ALL_BROKER: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPSERT_TRANSACTION_STATE:
            case OperationType.OP_DELETE_TRANSACTION_STATE: {
                data = new TransactionState();
                ((TransactionState) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_REMOVE_TXNS: {
                data = BatchRemoveTransactionsOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_REMOVE_TXNS_V2: {
                data = BatchRemoveTransactionsOperationV2.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_TABLE_STATUS: {
                data = SetTableStatusOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_REPOSITORY: {
                data = Repository.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_REPOSITORY: {
                data = new Text();
                ((Text) data).readFields(in);
                isRead = true;
                break;
            }
            case OperationType.OP_TRUNCATE_TABLE: {
                data = TruncateTableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_COLOCATE_ADD_TABLE:
            case OperationType.OP_COLOCATE_REMOVE_TABLE:
            case OperationType.OP_COLOCATE_BACKENDS_PER_BUCKETSEQ:
            case OperationType.OP_COLOCATE_MARK_UNSTABLE:
            case OperationType.OP_COLOCATE_MARK_STABLE: {
                data = ColocatePersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_COLOCATE: {
                data = TablePropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_HEARTBEAT: {
                data = HbPackage.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_FUNCTION: {
                data = Function.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_FUNCTION: {
                data = FunctionSearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ADD_GLOBAL_FUNCTION: {
                data = Function.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_GLOBAL_FUNCTION: {
                data = FunctionSearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ENCRYPTKEY: {
                data = EncryptKey.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_ENCRYPTKEY: {
                data = EncryptKeySearchDesc.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKEND_TABLETS_INFO: {
                data = BackendTabletsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BACKEND_REPLICAS_INFO: {
                data = BackendReplicasInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ROUTINE_LOAD_JOB: {
                data = RoutineLoadJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_ROUTINE_LOAD_JOB:
            case OperationType.OP_REMOVE_ROUTINE_LOAD_JOB: {
                data = RoutineLoadOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_SCHEDULER_JOB:
            case OperationType.OP_DELETE_SCHEDULER_JOB:
            case OperationType.OP_CREATE_SCHEDULER_JOB: {
                Job job = Job.readFields(in);
                data = job;
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SCHEDULER_TASK:
            case OperationType.OP_DELETE_SCHEDULER_TASK: {
                JobTask task = JobTask.readFields(in);
                data = task;
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_LOAD_JOB: {
                data = org.apache.doris.load.loadv2.LoadJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_END_LOAD_JOB: {
                data = LoadJobFinalOperation.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_LOAD_JOB: {
                data = LoadJobStateUpdateInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SYNC_JOB: {
                data = SyncJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_SYNC_JOB_STATE: {
                data = SyncJob.SyncJobUpdateStateInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_FETCH_STREAM_LOAD_RECORD: {
                data = FetchStreamLoadRecord.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_RESOURCE:
            case OperationType.OP_ALTER_RESOURCE: {
                data = Resource.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_RESOURCE: {
                data = DropResourceOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SMALL_FILE:
            case OperationType.OP_DROP_SMALL_FILE: {
                data = SmallFile.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_JOB_V2: {
                data = AlterJobV2.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_COOLDOWN_CONF: {
                data = CooldownConfList.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_COOLDOWN_DELETE: {
                data = CooldownDelete.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BATCH_ADD_ROLLUP: {
                data = BatchAlterJobPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_DISTRIBUTION_TYPE: {
                data = TableInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_REPLICA_STATUS: {
                data = SetReplicaStatusOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_REPLICA_VERSION: {
                data = SetReplicaVersionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_SET_PARTITION_VERSION: {
                data = SetPartitionVersionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DYNAMIC_PARTITION:
            case OperationType.OP_MODIFY_IN_MEMORY:
            case OperationType.OP_MODIFY_REPLICATION_NUM:
            case OperationType.OP_UPDATE_BINLOG_CONFIG: {
                data = ModifyTablePropertyOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_DISTRIBUTION_BUCKET_NUM: {
                data = ModifyTableDefaultDistributionBucketNumOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REPLACE_TEMP_PARTITION: {
                data = ReplacePartitionOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INSTALL_PLUGIN: {
                data = PluginInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UNINSTALL_PLUGIN: {
                data = PluginInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REMOVE_ALTER_JOB_V2: {
                data = RemoveAlterJobV2OperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_COMMENT: {
                data = ModifyCommentOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_ROUTINE_LOAD_JOB: {
                data = AlterRoutineLoadJobOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_GLOBAL_VARIABLE_V2: {
                data = GlobalVarPersistInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REPLACE_TABLE: {
                data = ReplaceTableOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_SQL_BLOCK_RULE: {
                data = SqlBlockRule.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_SQL_BLOCK_RULE: {
                data = SqlBlockRule.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_SQL_BLOCK_RULE: {
                data = DropSqlBlockRuleOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_ENGINE: {
                data = ModifyTableEngineOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_POLICY: {
                data = Policy.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_POLICY: {
                data = DropPolicyLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_STORAGE_POLICY: {
                data = StoragePolicy.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_CATALOG:
            case OperationType.OP_DROP_CATALOG:
            case OperationType.OP_ALTER_CATALOG_NAME:
            case OperationType.OP_ALTER_CATALOG_PROPS:
            case OperationType.OP_REFRESH_CATALOG: {
                data = CatalogLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_CATALOG: {
                data = InitCatalogLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_EXTERNAL_DB: {
                data = InitDatabaseLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INIT_EXTERNAL_TABLE: {
                data = InitTableLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_REFRESH_EXTERNAL_DB:
            case OperationType.OP_DROP_EXTERNAL_TABLE:
            case OperationType.OP_CREATE_EXTERNAL_TABLE:
            case OperationType.OP_DROP_EXTERNAL_DB:
            case OperationType.OP_CREATE_EXTERNAL_DB:
            case OperationType.OP_ADD_EXTERNAL_PARTITIONS:
            case OperationType.OP_DROP_EXTERNAL_PARTITIONS:
            case OperationType.OP_REFRESH_EXTERNAL_PARTITIONS:
            case OperationType.OP_REFRESH_EXTERNAL_TABLE: {
                data = ExternalObjectLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_LIGHT_SCHEMA_CHANGE: {
                data = TableAddOrDropColumnsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_MODIFY_TABLE_ADD_OR_DROP_INVERTED_INDICES: {
                data = TableAddOrDropInvertedIndicesInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_INVERTED_INDEX_JOB: {
                data = IndexChangeJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CLEAN_LABEL: {
                data = CleanLabelOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_MTMV_JOB: {
                data = MTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_MTMV_JOB: {
                data = DropMTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_MTMV_JOB: {
                data = ChangeMTMVJob.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_MTMV_TASK: {
                data = MTMVTask.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_MTMV_TASK: {
                data = DropMTMVTask.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CHANGE_MTMV_TASK: {
                Text.readString(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_MTMV_STMT: {
                data = AlterMultiMaterializedView.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_USER: {
                data = AlterUserOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_WORKLOAD_GROUP:
            case OperationType.OP_ALTER_WORKLOAD_GROUP: {
                data = WorkloadGroup.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DROP_WORKLOAD_GROUP: {
                data = DropWorkloadGroupOperationLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_LIGHT_SCHEMA_CHANGE: {
                data = AlterLightSchemaChangeInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CLEAN_QUERY_STATS: {
                data = CleanQueryStatsInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ANALYSIS_JOB: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_CREATE_ANALYSIS_TASK: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_ANALYSIS_JOB: {
                data = AnalyzeDeletionLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_ANALYSIS_TASK: {
                data = AnalyzeDeletionLog.read(in);
                break;
            }
            case OperationType.OP_UPDATE_AUTO_INCREMENT_ID: {
                data = AutoIncrementIdUpdateLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_ALTER_DATABASE_PROPERTY: {
                data = AlterDatabasePropertyInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_GC_BINLOG: {
                data = BinlogGcInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_BARRIER: {
                data = BarrierLog.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_UPDATE_TABLE_STATS: {
                data = TableStats.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_PERSIST_AUTO_JOB: {
                data = AnalysisInfo.read(in);
                isRead = true;
                break;
            }
            case OperationType.OP_DELETE_TABLE_STATS: {
                data = TableStatsDeletionLog.read(in);
                isRead = true;
                break;
            }
            default: {
                IOException e = new IOException();
                LOG.error("UNKNOWN Operation Type {}", opCode, e);
                throw e;
            }
        } 
        Preconditions.checkState(isRead);
    }