package com.alibaba.doris.common.adminservice.impl;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.alibaba.doris.common.AdminServiceConstants;
import com.alibaba.doris.common.ConsistentErrorType;
import com.alibaba.doris.common.adminservice.BaseAdminService;
import com.alibaba.doris.common.adminservice.ConsistentErrorReportService;
import com.alibaba.doris.common.util.IPAddressUtil;
public class ConsistentErrorReportServiceImpl extends BaseAdminService<Boolean> implements ConsistentErrorReportService {
private static Log logger = LogFactory.getLog(ConsistentErrorReportServiceImpl.class);
private static ConsistentErrorReportService instance = new ConsistentErrorReportServiceImpl();
private ConsistentErrorReportServiceImpl() {
}
public static ConsistentErrorReportService getInstance() {
return instance;
}
public Boolean report(int namespaceId, String key, String phisicalIps, String exceptionMsg,
ConsistentErrorType errorType, String timestamp) {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put(AdminServiceConstants.CONSISTENT_KEY, key);
paramMap.put(AdminServiceConstants.CONSISTENT_NAMESPACE_ID, String.valueOf(namespaceId));
paramMap.put(AdminServiceConstants.CONSISTENT_PHISICAL_IPS, phisicalIps);
paramMap.put(AdminServiceConstants.CONSISTENT_CLIENT_IP, IPAddressUtil.getIPAddress());
paramMap.put(AdminServiceConstants.CONSISTENT_EXCEPTION_MSG, exceptionMsg);
paramMap.put(AdminServiceConstants.CONSISTENT_TIMESTAMP, timestamp);
paramMap.put(AdminServiceConstants.CONSISTENT_ERROR_TYPE, errorType.name());
Boolean result = requestForce(paramMap);
return result;
}
@Override
public Boolean convert(String response) {
return Boolean.valueOf(response);
}
@Override
public String getActionName() {
return AdminServiceConstants.CONSISTENT_REPORT_ACTION;
}
}