okuyama.imdst.helper
クラス AbstractMasterManagerHelper

java.lang.Object
  上位を拡張 okuyama.base.job.AbstractHelper
      上位を拡張 okuyama.imdst.helper.AbstractMasterManagerHelper
すべての実装されたインタフェース:
java.lang.Runnable
直系の既知のサブクラス:
ConnectionPoolHelper, DataConsistencyAdjustmentHelper, KeyNodeOptimizationConsistentHashHelper, KeyNodeOptimizationHelper, KeyNodeWatchHelper, MasterConfigurationManagerHelper, MasterManagerAcceptHelper, MasterManagerConnectHelper, MasterManagerHelper, ServerControllerHelper

public abstract class AbstractMasterManagerHelper
extends AbstractHelper

MasterNodeのHelperが継承するクラス.
共通的な処理とネットワークIOのキューイング処理の仲介処理を行う

作成者:
T.Okuyama

フィールドの概要
protected static java.util.concurrent.ConcurrentHashMap keyNodeConnectPool
           
protected static boolean recoverProcessed
           
 
クラス okuyama.base.job.AbstractHelper から継承されたフィールド
END, ERR, ERROR, helperConfigMap, helperParamShareMap, RUN, status, SUCCESS, WAIT
 
コンストラクタの概要
AbstractMasterManagerHelper()
           
 
メソッドの概要
protected  void addKeyNodeCacheConnectionPool(KeyNodeConnector keyNodeConnector)
          使用済みの接続をPoolに戻す.
protected  boolean checkConnectionEffective(java.lang.String nodeInfo, java.lang.Long time)
          ノードとの接続プールが有効か確認
protected  java.lang.String[] execNodePing(java.lang.String nodeName, int port, ILogger logger)
           
protected  java.lang.String[] execNodePing(java.lang.String nodeName, int port, ILogger logger, int deadCount)
          ノードに対して生存確認用のPingを行う.
protected  void execNodeUseEnd(java.lang.String nodeInfo)
          ノードに対するアクセス終了をマーク
protected  void executeKeyNodeOptimization(boolean flg)
           
protected  KeyNodeConnector getActiveConnection(java.lang.String connectionName)
          ConnectionPoolが作りだしたコネクションを使用する.
protected  java.util.HashMap getConsistentHashMoveData()
           
protected  int getNodeUseStatus(java.lang.String nodeInfo)
          指定ノードの使用状況を取得 返却値は現在の使用数をあらわす
protected  int getNowConnectionPoolCount()
           
protected  boolean getNowNodeDataOptimization()
           
protected  boolean getRecoverProcessed()
           
protected  boolean isExecuteKeyNodeOptimization()
           
protected  boolean isNodeArrival(java.lang.String nodeInfo)
          ノードの生存を確認
protected  void removeConsistentHashMoveData()
           
protected  void removeNodeWaitStatus(java.lang.String nodeInfo)
          ノードの一時停止を解除.
protected  void sendExecuteMethodReportQueue(java.lang.String[] requestParams, java.lang.String[] responseParams)
          実行依頼のパラメータと結果パラータをQueueに書き込む.
protected  void setActiveConnection(java.lang.String connectionName, KeyNodeConnector keyNodeConnector)
          データノードとのコネクションをセットする.
protected  void setArriveNode(java.lang.String nodeInfo)
          ノードの復帰を登録
protected  void setConsistentHashMoveData(java.util.HashMap map)
           
protected  void setDeadNode(java.lang.String nodeInfo, int setPoint, java.lang.Throwable te)
          ノードの停止を登録
protected  void setDeadNode(java.lang.String nodeInfo, int setPoint, java.lang.Throwable te, boolean reportMasterNode)
          ノードの停止を登録
protected  void setNodeWaitStatus(java.lang.String nodeInfo)
          ノードの一時停止を要求.
protected  void setNowNodeDataOptimization(boolean flg)
           
protected  void setRecoverNode(boolean recoverMode, java.lang.String nodeInfo)
          ノードのリカバリーの開始、終了をスレーブのMasterNodeへ送信
protected  void setRecoverProcessed(boolean flg)
           
protected  void setRecoverSuccess(java.lang.String nodeInfo)
          ノードのリカバリーの終了通知とDataNode起動をスレーブのMasterNodeへ送信.
 
クラス okuyama.base.job.AbstractHelper から継承されたメソッド
addParameterQueue, addSmallSizeParameterQueue, addSpecificationParameterQueue, addSpecificationParameterQueue, endHelper, executeHelper, getConfig, getHelperShareParam, getName, getParameterQueueSize, getParameters, getPropertiesValue, getReboot, getReturnParameter, getStatus, getThreadEnd, getUseCount, initHelper, initialize, isJobFileChange, pollParameterQueue, pollSpecificationParameterQueue, reloadJobFileParameter, removeHelperShareParam, run, setConfig, setHelperShareParam, setName, setParameters, setReboot, setReturnParameter, sizeHelperShareParam
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

keyNodeConnectPool

protected static java.util.concurrent.ConcurrentHashMap keyNodeConnectPool

recoverProcessed

protected static boolean recoverProcessed
コンストラクタの詳細

AbstractMasterManagerHelper

public AbstractMasterManagerHelper()
メソッドの詳細

setRecoverProcessed

protected void setRecoverProcessed(boolean flg)

getRecoverProcessed

protected boolean getRecoverProcessed()

isNodeArrival

protected boolean isNodeArrival(java.lang.String nodeInfo)
ノードの生存を確認

パラメータ:
nodeInfo - 確認対象のノード情報

setDeadNode

protected void setDeadNode(java.lang.String nodeInfo,
                           int setPoint,
                           java.lang.Throwable te)
ノードの停止を登録

パラメータ:
nodeInfo - 対象のノード情報
setPoint -
te -

setDeadNode

protected void setDeadNode(java.lang.String nodeInfo,
                           int setPoint,
                           java.lang.Throwable te,
                           boolean reportMasterNode)
ノードの停止を登録

パラメータ:
nodeInfo - 対象のノード情報
setPoint -
te -
reportMasterNode -

setArriveNode

protected void setArriveNode(java.lang.String nodeInfo)
ノードの復帰を登録

パラメータ:
nodeInfo - 対象のノード情報

setRecoverNode

protected void setRecoverNode(boolean recoverMode,
                              java.lang.String nodeInfo)
ノードのリカバリーの開始、終了をスレーブのMasterNodeへ送信

パラメータ:
recoverMode -

setRecoverSuccess

protected void setRecoverSuccess(java.lang.String nodeInfo)
ノードのリカバリーの終了通知とDataNode起動をスレーブのMasterNodeへ送信.

パラメータ:
recoverMode -

checkConnectionEffective

protected boolean checkConnectionEffective(java.lang.String nodeInfo,
                                           java.lang.Long time)
ノードとの接続プールが有効か確認

パラメータ:
nodeInfo - 対象のノード情報
戻り値:
boolean true:有効 false:無効

setNodeWaitStatus

protected void setNodeWaitStatus(java.lang.String nodeInfo)
ノードの一時停止を要求.

パラメータ:
nodeInfo - 停止対象ノード

removeNodeWaitStatus

protected void removeNodeWaitStatus(java.lang.String nodeInfo)
ノードの一時停止を解除.

パラメータ:
nodeInfo - 解除対象ノード

execNodeUseEnd

protected void execNodeUseEnd(java.lang.String nodeInfo)
ノードに対するアクセス終了をマーク


getNodeUseStatus

protected int getNodeUseStatus(java.lang.String nodeInfo)
指定ノードの使用状況を取得 返却値は現在の使用数をあらわす


execNodePing

protected java.lang.String[] execNodePing(java.lang.String nodeName,
                                          int port,
                                          ILogger logger)

execNodePing

protected java.lang.String[] execNodePing(java.lang.String nodeName,
                                          int port,
                                          ILogger logger,
                                          int deadCount)
ノードに対して生存確認用のPingを行う.

パラメータ:
nodeName - ノード名
port - ポート番号
logger - ロガー
deadCount - Deadとみなす回数
戻り値:
String[] 結果 配列の1番目:"true" or "false", 配列の2番目:1番目が"true"の場合ステータス文字列

sendExecuteMethodReportQueue

protected void sendExecuteMethodReportQueue(java.lang.String[] requestParams,
                                            java.lang.String[] responseParams)
実行依頼のパラメータと結果パラータをQueueに書き込む.
正し、書き込む命令は限定可能とし、書き込むパラメータは成功したものだけとする.

パラメータ:
requestParams - 実行依頼のリクエストパラメータ
responseParams - 実行結果のレスポンスパラメータ

setActiveConnection

protected void setActiveConnection(java.lang.String connectionName,
                                   KeyNodeConnector keyNodeConnector)
データノードとのコネクションをセットする.
ConnectionPoolHelperが使用する.


addKeyNodeCacheConnectionPool

protected void addKeyNodeCacheConnectionPool(KeyNodeConnector keyNodeConnector)
使用済みの接続をPoolに戻す.
DataNodeとの接続キャッシュ用.


executeKeyNodeOptimization

protected void executeKeyNodeOptimization(boolean flg)

isExecuteKeyNodeOptimization

protected boolean isExecuteKeyNodeOptimization()

getConsistentHashMoveData

protected java.util.HashMap getConsistentHashMoveData()

setConsistentHashMoveData

protected void setConsistentHashMoveData(java.util.HashMap map)

removeConsistentHashMoveData

protected void removeConsistentHashMoveData()

setNowNodeDataOptimization

protected void setNowNodeDataOptimization(boolean flg)

getNowNodeDataOptimization

protected boolean getNowNodeDataOptimization()

getActiveConnection

protected KeyNodeConnector getActiveConnection(java.lang.String connectionName)
ConnectionPoolが作りだしたコネクションを使用する.


getNowConnectionPoolCount

protected int getNowConnectionPoolCount()