2016-04-13 6 views
0

現在、CassandraクライアントをHectorからJavaドライバに移行していますが、既に切断されている同じDCへのクライアント要求が繰り返されるのを避けるためにConnectionListenerの置換を見つけることができません何らかの理由で。CassandraクライアントHectorからJavaドライバへの移行 - ConnectionListenerの置き換え

コード:

  if(getClusterConnectionListenerForDCId(dcId).isAllHostsInThisDCClusterDown()) 
      { 
      /* directly return failure w/o even trying: this is vital, because if we keep trying to write to a all-downed cluster again and again,and since hector is stupid enough not to skip writing to cluster given that it already knew the cluster is all down, every single remote local-quorum call will need to wait until timeout (10 second) again and again, when cross-DC channel has hiccup. 
*/ 
          return false; 
       } 

     //overridden function of ConnectionManagerListener 

     @Override 
      public void onAllHostsDown() { 
       //when all hosts are down for a particular cluster, we want to disable writing to that particular cluser 
       //until at least one host of the cluster recovers 
       mIsAllHostsInThisDCClusterDown = true; 
       smIsAnyDCClusterAllHostsDown = true; 
       logger.warn("all hosts are down for DC: " + mDcId); 
      } 

答えて

0

が、これが何らかの理由でダウンし、すでにある同じDCに繰り返され、クライアントの要求を回避するために使用されるようConnectionListenerの代替品を見つけることができません。

これはもう必要ありません。 Javaドライバを使用すると、ノード/ DCダウンタイムを自動的に処理するDCAwareLoadBalancingStrategyが自動的に表示されます

関連する問題