2016-11-22 12 views
3

EventHubプロセッサでMicrosoft.ServiceBus.Messaging.LeaseLostExceptionの例外が発生しました。Microsoft.ServiceBus.Messaging.LeaseLostExceptionについて

この例外は何を意味しますか?この例外の考えられる原因は何ですか?

トラックスタックは次のとおりです。\ rを---例外がスローされた以前の場所からスタックトレースの終わりをMicrosoft.ServiceBus.Messaging.BlobLeaseManager.d__24.MoveNextで

()\ rを\ nは--- \ N System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスクのタスク)で\ R \ nはSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(タスクのタスク)で \ R \ nはMicrosoft.ServiceBus.Messaging.BlobLeaseManagerで 。 d__25.MoveNext()\ r \ n ---例外がスローされた前の場所からのスタックトレースの終了--- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスクタスク)の の\ 012 \ n \a TのSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(タスクのタスク)\ R \ nは

MyEventHub.EventProcessor`1.d__6.MoveNext()で

\ R \ n \ R \ nMicrosoft.WindowsAzure.Storage.StorageException:\ "リモートサーバーからエラー:(409)競合が返されました:"

at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync [T](IAsyncResult result)in c:\ Program Files(x86) \ Jenkins \ workspace \ release_dotnet_master \ Lib \ ClassLibraryCommon \ Core \ Executor \ Executor.cs:行60 \ r \ n (Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions)。> c:¥Program Files(x86)¥Jenkins¥workspace¥release_dotnet_master¥Lib¥ClassLibraryCommon¥Core¥Util¥AsyncExtensions.csのc__DisplayClass4.b__3(IAsyncResult ar):行115 \ r \ n - スタックトレースの終了例外がスローされた前の位置から--- \ R \ nはSystem.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスクのタスク)で \ R \ nはSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(タスクタスク)\で R \ r \ n \ r \ nSystem.Net.WebException:\ "リモートサーバーがエラーを返しました:(409)Conflict。\": Microsoft .WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException [T](HttpStatusCode expectedStatusCode、HttpStatusCode actualStatusCode、T retVal、StorageCommandBase 1 cmd, Exception ex) in c:\\Program Files (x86)\\Jenkins\\workspace\\release_dotnet_master\\Lib\\Common\\Shared\\Protocol\\HttpResponseParsers.Common.cs:line 50\r\n at Microsoft.WindowsAzure.Storage.Blob.CloudBlob.<>c__DisplayClass33.<RenewLeaseImpl>b__32(RESTCommand 1 cmd、HttpWebRe \ Jenkins \ workspace \ release_dotnet_master \ Lib \ ClassLibraryCommon \ Blob \ CloudBlob.cs:行番号3186 \ r \ n (Microsoft.WindowsAzure.Storage.Core)にあります。 C言語で.Executor.Executor.EndGetResponse [T](たIAsyncResult getResponseResult):\プログラムファイル(x86の)ジェンキンス\ワークスペース\ \ release_dotnet_master \ Libの\ ClassLibraryCommon \コア\執行\ Executor.cs:ライン306"

そして、私自身のコード内の内部例外のみ:

at MyEventHub.EventProcessor`1です。 < < CloseAsync >> d__6.MoveNext()\ rを\ nは\ rを\ nMicrosoft.WindowsAzure.Storage.StorageException: ":(409)紛争\。リモートサーバーがエラー返さ":\ を...

そして、ここではCloseAsyncのコードです:

public async Task CloseAsync(PartitionContext context, CloseReason reason) 
    { 
     try 
     { 
      if (reason == CloseReason.Shutdown) 
      { 
       await context.CheckpointAsync(); 
      } 
     } 
     catch (Exception ex) 
     { 
      this.HandleException(ex); 
     } 
     finally 
     { 
      this.configuration.DecrementOpenedPartitionCount?.Invoke(); 
     } 
    } 

MyEventHubは、Azureの中2インスタンスを展開Workerロールでホストされています。

答えて

0

@ Youxu、EventHubの場合、いくつの受信機(EventProcessorHost)が設定されていますか?私の知る限りでは、特定のepochのアクティブ受信機を1つだけ持つことができます。以上のいずれかを実行している1人のリスナーがすでにEventHubに上場されている間、我々は(デフォルトのオプション付き)EventHubリスナーを作成した場合、新たに作成されたリスナーが高いエポックを取得し、あなたは(誤って)している場合は、最初のリスナーが原因にLeaseLostException

チェックを切断されます受信機は同じEventHubのために同時に。

関連する問題