无法更改 .NET 的允许覆盖数据流选项,阿帕奇点燃瘦客户端



我试图使用瘦客户端数据流(.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)
*/

注:

  • 如果我使用厚客户端而不是瘦客户端,它会按预期工作(但在我的情况下这是不可取的(
  • 在启动服务器节点/s时,我找不到任何相关的配置来启用此选项

有什么建议吗?谢谢

创建数据流后,您正在修改数据流,这是不受支持的。创建实例后,您只能获得其配置的副本。在初始化时提供完整的配置:

var options = new DataStreamerClientOptions {AllowOverwrite = false};

using (var streamer = Client.GetDataStreamer<int, object>(cache.Name, options))
{
...
}

我在启动时找不到任何相关的配置来启用此选项服务器节点的

这不是服务器配置,它只是关于数据处理。

相关内容

最新更新