シン クライアント データ ストリーマー (.NET apache ignite) を使用して一部のデータを削除しようとしましたが、例外が発生しました。
AllowOverwrite が false の場合、DataStreamer はデータを削除できません。
私の問題は、AllowOverwrite を true に変更しようとすると、尊重されないことです。
using Apache.Ignite.Core;
using Apache.Ignite.Core.Client;
IgniteClientConfiguration _configuration = new()
{
Endpoints = new[] { "127.0.0.1:10800" }
};
using (var client = Ignition.StartClient(_configuration))
{
var cache = client.GetOrCreateCache<int, string>("myCache");
using (var dataStreamer = client.GetDataStreamer<int, string>("myCache"))
{
Console.WriteLine($"AllowOverwrite default value: {dataStreamer.Options.AllowOverwrite}");
// Set AllowOverwrite to true
dataStreamer.Options.AllowOverwrite = true;
Console.WriteLine($"AllowOverwrite: {dataStreamer.Options.AllowOverwrite}"); // Set not repected
dataStreamer.Remove(1);
}
}
/*
Results in:
AllowOverwrite default value: False
AllowOverwrite: False
Unhandled exception. Apache.Ignite.Core.Client.IgniteClientException: DataStreamer
can't remove data when AllowOverwrite is false.
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.Remove(TK key)
*/
ノート:
- シン クライアントの代わりにシック クライアントを使用すると、期待どおりに動作します (ただし、私の場合は望ましくありません)。
- サーバーノードの起動時にこのオプションを有効にするための関連構成が見つかりませんでした
ここで何が欠けているかについて何かアドバイスはありますか? ありがとうございました