2016-08-18 4 views
1

2つのjvmで2つのigniteキャッシュノードを使用した例を実行します。各jvmはigniteノードを実行します。ノードは同じキャッシュにマップされます。[apache ignite]プライマリキャッシュとバックアップキャッシュを作成するとキャッシュデータが失われる

のIgnite-config.xmlの

<bean class="org.apache.ignite.configuration.IgniteConfiguration"> 
 
    ... 
 
    <property name="cacheConfiguration"> 
 
     <bean class="org.apache.ignite.configuration.CacheConfiguration"> 
 
      <!-- Set a cache name. --> 
 
      <property name="name" value="cacheName"/> 
 
      <!-- Set cache mode. --> 
 
      <property name="cacheMode" value="PARTITIONED"/> 
 
      <!-- Number of backup nodes. --> 
 
      <property name="backups" value="1"/> 
 
      ... 
 
     </bean> 
 
    </property> 
 
</bean>

試験手順:発火ノードの

  1. 一つの第一の開始及び データの10個(キー値を書き込みます。 1-1,2-2,3-3 ... 10-10)。
  2. 次に、2番目のキャッシュが開始され、キャッシュにマップされます。
  3. 点火ノードは、データの再調整を開始します。 最初のノードは4個、2番目のノードは6個です。
  4. 私は最初のキャッシュノードのjvmを消去します。

結果:バックアップノードは10個のファイルを所有していません。

+0

これは起こりません。どのノードがどのエントリを所有しているかをどのように確認しますか?テストコードを表示できますか? –

+0

@Valentin私はignitevisorcmd.shを使用して、cmd:cache -swapとcache -scan -c = @ c0 -id8 = @ n0を提供します –

+0

1つのノードを強制終了した後でキャッシュに問い合わせてみましたか?または、ignitevisorcmd.shを使用しましたか?それは、監視ソフトウェアのバグでもあります。そのため、クエリによってキーがあるかどうかをテストする必要があります。 (可能性は低いですが、可能性があります)どのノードを殺すかは違いますか? –

答えて

0

ignitevisorcmd.shがキーが失われたと報告する理由がわかりません。私はあなたがノードを殺した後にそれを照会することによってキャッシュを直接調べることを提案する。バレンタインが示唆するように、IgniteCache.size()を試すことができます

関連する問題