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  void execForceShutdownNode(java.lang.String nodeName, int port, ILogger logger)
          指定されたノードを強制的に終了する.
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  void finishDynamicDataRemoveProcess()
          データノード追加によるデータ移行プロセスの終了を全MasterNodeに伝える
protected  KeyNodeConnector getActiveConnection(java.lang.String connectionName)
          ConnectionPoolが作りだしたコネクションを使用する.
protected  java.util.HashMap getConsistentHashMoveData()
           
protected  java.lang.String[] getNodeArrivalStatus(java.lang.String nodeName, int port, ILogger logger)
          ノードに現在の生存状態を確認する.
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 reportDeadNode(java.lang.String nodeInfo, int setPoint)
          ノードの停止を登録
protected  void sendExecuteMethodReportQueue(java.lang.String[] requestParams, java.lang.String[] responseParams)
          実行依頼のパラメータと結果パラータをQueueに書き込む.
protected  void sendRecoverPassStatus(java.lang.String nodeName, int port, ILogger logger)
          リカバリがパスされたため、強制リカバリが必要であることをDataNodeにマークする.
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へ送信.
protected  void stopRecoverDataOutputOperation(java.lang.String nodeName, int port, ILogger logger)
          指定されたノードが行なっているリカバリ処理を停止する.
 
クラス 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 - 確認対象のノード情報

reportDeadNode

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

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

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 - 対象のノード情報

finishDynamicDataRemoveProcess

protected void finishDynamicDataRemoveProcess()
データノード追加によるデータ移行プロセスの終了を全MasterNodeに伝える

パラメータ:
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"の場合ステータス文字列

getNodeArrivalStatus

protected java.lang.String[] getNodeArrivalStatus(java.lang.String nodeName,
                                                  int port,
                                                  ILogger logger)
ノードに現在の生存状態を確認する.

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

execForceShutdownNode

protected void execForceShutdownNode(java.lang.String nodeName,
                                     int port,
                                     ILogger logger)
指定されたノードを強制的に終了する.

パラメータ:
nodeName - ノード名
port - ポート番号
logger - ロガー

sendRecoverPassStatus

protected void sendRecoverPassStatus(java.lang.String nodeName,
                                     int port,
                                     ILogger logger)
リカバリがパスされたため、強制リカバリが必要であることをDataNodeにマークする.

パラメータ:
nodeName - ノード名
port - ポート番号
logger - ロガー

stopRecoverDataOutputOperation

protected void stopRecoverDataOutputOperation(java.lang.String nodeName,
                                              int port,
                                              ILogger logger)
指定されたノードが行なっているリカバリ処理を停止する.

パラメータ:
nodeName - ノード名
port - ポート番号
logger - ロガー

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()