package com.alibaba.doris.admin.service.common.migrate; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.alibaba.doris.admin.service.common.AdminServiceAction; import com.alibaba.doris.admin.service.common.migrate.manager.MigrateManager; import com.alibaba.doris.common.AdminServiceConstants; import com.alibaba.doris.common.MigrateStatusEnum; /** * 完成data server迁移状态报告处理 * * @author frank */ public class AdminMigrateStatusReportAction implements AdminServiceAction { private static final Log log = LogFactory.getLog(AdminMigrateStatusReportAction.class); private static AdminMigrateStatusReportAction instance = new AdminMigrateStatusReportAction(); private AdminMigrateStatusReportAction() { } public static AdminMigrateStatusReportAction getInstance() { return instance; } public String execute(Map<String, String> params) { String remoteIp = params.get(AdminServiceConstants.REMOTE_IP); String port = params.get(AdminServiceConstants.MIGRATE_REPORT_SOURCE_NODE_PORT); String sourcePhysicalId = remoteIp + ":" + port; if (log.isDebugEnabled()) { log.debug("migrate report src:" + sourcePhysicalId ); } MigrateManager.getInstance().updateMigerateStatus( sourcePhysicalId, params.get(AdminServiceConstants.MIGRATE_REPORT_TARGET_NODE_PHYSICAL_ID), Integer.valueOf(params.get(AdminServiceConstants.MIGRATE_REPORT_SCHEDULE)), MigrateStatusEnum.getEnum(params.get(AdminServiceConstants.MIGRATE_REPORT_STATUS)), params.get(AdminServiceConstants.MIGRATE_REPORT_MESSAGE)); return "OK"; } }