/**
* Project: doris.admin.service.failover-0.1.0-SNAPSHOT
*
* File Created at 2011-5-27
* $Id$
*
* Copyright 1999-2100 Alibaba.com Corporation Limited.
* All rights reserved.
*
* This software is the confidential and proprietary information of
* Alibaba Company. ("Confidential Information"). You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with Alibaba.com.
*/
package com.alibaba.doris.admin.service.failover.node.check;
import java.util.concurrent.Callable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.alibaba.doris.admin.dataobject.PhysicalNodeDO;
import com.alibaba.doris.common.StoreNode;
/**
* @deprecated
* @author mian.hem
*
*/
public class NodeCheckTask implements Callable<NodeCheckResult>{
private static final Log log = LogFactory.getLog(NodeCheckThread.class);
private NodeCheckManager nodeCheckManager = null;
private NodeCheckResult nodeCheckResult = null;
private PhysicalNodeDO pNode = null;
public NodeCheckTask(StoreNode snode) {
super();
nodeCheckManager = NodeCheckManager.getInstance();
pNode = new PhysicalNodeDO();
pNode.setPhysicalId(snode.getPhId());
//this.nodeCheckResult = new NodeCheckResult(pNode);
}
public NodeCheckTask(PhysicalNodeDO pNode, NodeCheckManager nodeCheckManager) {
this.nodeCheckManager = nodeCheckManager;
this.pNode = pNode;
// this.nodeCheckResult = new NodeCheckResult(pNode);
}
public NodeCheckResult call() throws Exception {
if (log.isDebugEnabled()) {
log.debug("start node checking : pid=" + pNode.getPhysicalId());
}
NodeHealth originalNodeHealth = nodeCheckManager.checkNode(pNode.getPhysicalId(), false);
if (log.isDebugEnabled()) {
log.debug("checkresult (previous) is " + originalNodeHealth + "for node : pid="
+ pNode.getPhysicalId());
}
NodeHealth currentNodeHealth = nodeCheckManager.verifyNodeAcess(pNode.getPhysicalId());
if (log.isDebugEnabled()) {
log.debug("checkresult is (current)" + currentNodeHealth + "for node : pid="
+ pNode.getPhysicalId());
}
nodeCheckResult.setOriginalNodeHealth(originalNodeHealth);
nodeCheckResult.setCurrentNodeHealth(currentNodeHealth);
return nodeCheckResult;
}
}