使用数据流时点燃 'Streamer is closed with error, Invalid request op code: 8000'
Ignite 'Streamer is closed with error, Invalid request op code: 8000' when using Data Streaming
我正在试用 Ignite 的数据流功能(请参阅 https://ignite.apache.org/docs/latest/data-streaming),但即使我 运行 正在使用文档页面上显示的非常基本的示例,我也会遇到以下异常:
ApacheIgniteExamplesDemo.DemoWorker[0]
Apache.Ignite.Core.Client.IgniteClientException: Streamer is closed with error, check inner exception for details.
---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (Invalid request op code: 8000))
---> System.AggregateException: One or more errors occurred. (Invalid request op code: 8000)
---> Apache.Ignite.Core.Client.IgniteClientException: Invalid request op code: 8000
at Apache.Ignite.Core.Impl.Client.ClientSocket.DecodeResponse[T](BinaryHeapStream stream, Func`2 readFunc, Func`3 errorFunc)
at Apache.Ignite.Core.Impl.Client.ClientSocket.<>c__DisplayClass33_0`1.<DoOutInOpAsync>b__0(Task`1 responseTask)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__271_0(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) [StatusCode=InvalidOpCode]
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.ThrowIfClosed()
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.Add(DataStreamerClientEntry`2 entry)
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.Add(TK key, TV val)
at ApacheIgniteExamplesDemo.DemoWorker.DataStreamingExample() in C:\demos\ApacheIgniteDemo\DemoWorker.cs:line 262 [StatusCode=Fail]
我无法找到有关流媒体因错误关闭的原因以及“无效请求操作代码:8000”指示的内容的任何信息。任何关于可能是什么问题的帮助或建议将不胜感激。
我运行以下代码:
//setting up cache
var cache = _ignite.CreateCache<int, string>(new CacheClientConfiguration
{
Name = "cache",
QueryEntities = new[]
{
new QueryEntity(
typeof(int),
typeof(string))
{
TableName = "table",
}
},
SqlSchema = "PUBLIC",
CacheMode = CacheMode.Partitioned
});
//running streamer
using(var streamer = _ignite.GetDataStreamer<int, string>(cache.Name))
{
for (int i = 0; i < 10000; i++)
streamer.Add(i, i.ToString());
}
Ignite 运行在具有默认配置的 docker 容器中。
错误消息表明服务器节点不支持该功能。瘦客户端数据流从 Ignite 2.11 开始可用 - 请确保使用该版本或更高版本。
我正在试用 Ignite 的数据流功能(请参阅 https://ignite.apache.org/docs/latest/data-streaming),但即使我 运行 正在使用文档页面上显示的非常基本的示例,我也会遇到以下异常:
ApacheIgniteExamplesDemo.DemoWorker[0]
Apache.Ignite.Core.Client.IgniteClientException: Streamer is closed with error, check inner exception for details.
---> System.AggregateException: One or more errors occurred. (One or more errors occurred. (Invalid request op code: 8000))
---> System.AggregateException: One or more errors occurred. (Invalid request op code: 8000)
---> Apache.Ignite.Core.Client.IgniteClientException: Invalid request op code: 8000
at Apache.Ignite.Core.Impl.Client.ClientSocket.DecodeResponse[T](BinaryHeapStream stream, Func`2 readFunc, Func`3 errorFunc)
at Apache.Ignite.Core.Impl.Client.ClientSocket.<>c__DisplayClass33_0`1.<DoOutInOpAsync>b__0(Task`1 responseTask)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__271_0(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) [StatusCode=InvalidOpCode]
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.ThrowIfClosed()
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.Add(DataStreamerClientEntry`2 entry)
at Apache.Ignite.Core.Impl.Client.Datastream.DataStreamerClient`2.Add(TK key, TV val)
at ApacheIgniteExamplesDemo.DemoWorker.DataStreamingExample() in C:\demos\ApacheIgniteDemo\DemoWorker.cs:line 262 [StatusCode=Fail]
我无法找到有关流媒体因错误关闭的原因以及“无效请求操作代码:8000”指示的内容的任何信息。任何关于可能是什么问题的帮助或建议将不胜感激。
我运行以下代码:
//setting up cache
var cache = _ignite.CreateCache<int, string>(new CacheClientConfiguration
{
Name = "cache",
QueryEntities = new[]
{
new QueryEntity(
typeof(int),
typeof(string))
{
TableName = "table",
}
},
SqlSchema = "PUBLIC",
CacheMode = CacheMode.Partitioned
});
//running streamer
using(var streamer = _ignite.GetDataStreamer<int, string>(cache.Name))
{
for (int i = 0; i < 10000; i++)
streamer.Add(i, i.ToString());
}
Ignite 运行在具有默认配置的 docker 容器中。
错误消息表明服务器节点不支持该功能。瘦客户端数据流从 Ignite 2.11 开始可用 - 请确保使用该版本或更高版本。