2016-04-13 16 views
0

Şu anda Cassandra istemcisini Hector'tan Java sürücüsüne geçiriyoruz ancak ConnectionListener için değiştirmeyi bulamadık, çünkü bu durum zaten aynı olan DC'ye tekrarlanan istemci isteklerini önlemek için kullanılıyor bazı sebeplerden dolayı.Cassandra istemcisinin Hector'un java sürücüsüne geçirilmesi - ConnectionListener için değiştirme

Kodu:

  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); 
      } 

cevap

0

ama bu zaten aşağı nedense aynı DC'ye tekrarlanan müşteri isteklerini önlemek için kullanılır olarak ConnectionListener için yenisini bulamadık.

Artık buna ihtiyacınız yok. Java sürücüsü ile DCAwareLoadBalancingStrategy'a sahip olursunuz, bu da sizin için

İlgili konular