EventProcessorHost中具有更高纪元错误的新接收器

ast*_*rht 8 azure azureservicebus azure-eventhub

我使用EventProcessorHost读取Eventhub数据,我得到了以下错误.

创建具有更高纪元'798393595'的新接收器,因此具有纪元'17'的当前接收器正在断开连接.如果要重新创建接收器,请确保使用更高的纪元.TrackingId:6368f7fc0004165d0001c7bb58238501_G34_B22,SystemTracker:dynmsg-push-evidence:eventhub:push-assignment-execute~28671 | dsreporting,时间戳:11/9/2016 8:21:32 PM

注 - 我没有使用EventHubReciever并且只使用EventProcessorHost方法从事件中心读取数据.我可以看到它第一次运行并从事件中心读取数据但在此之后它总会抛出如上所述的错误?

无论如何我在那里可以避免Epoch值读取数据?假设我只想使用EventProcessorHost实现这一点.

eventProcessorHost = new EventProcessorHost(eventProcessorHostName,config.EventHubSourceName, string.IsNullOrEmpty(config.EventHubSourceConsumerGroup)? EventHubConsumerGroup.DefaultGroupName:config.EventHubSourceConsumerGroup,
                    config.EventHubSourceConnectionString, config.StorageConnectionString)
                {
                    PartitionManagerOptions = new PartitionManagerOptions()
                    {
                        AcquireInterval = TimeSpan.FromSeconds(10),
                        RenewInterval = TimeSpan.FromSeconds(10),
                        LeaseInterval = TimeSpan.FromSeconds(30)
                    }
                };

                var eventProcessOption = new EventProcessorOptions
                {
                    InvokeProcessorAfterReceiveTimeout = true,
                    MaxBatchSize = 100,
                    PrefetchCount = 100,
                    ReceiveTimeOut = TimeSpan.FromSeconds(30)
                };

                eventProcessOption.ExceptionReceived += EventProcessOption_ExceptionReceived;

                var factory = new EventHubHostFactory(config.FileName, CallbackEventHubData);
               // var eventFactory = new DefaultEventProcessorFactory<factory>();

                await eventProcessorHost.RegisterEventProcessorFactoryAsync(factory, eventProcessOption);
Run Code Online (Sandbox Code Playgroud)

小智 0

根据经验,此错误是由两个或多个应用程序使用同一消费者组引起的。检查您是否还没有从该使用者组检索数据的应用程序。并清除检查点文件。