Azure Service Bus MessageLockLostException无意中出错

Azure Service Bus MessageLockLostException无意中出错,azure,exception,azureservicebus,Azure,Exception,Azureservicebus,MessageLockLostException无原因发生。我们将锁定时间设置为1分钟,并在处理20秒后间歇性抛出此异常。这是没有理由的。我们注意到它通常发生在一分钟的末尾或开头。我的意思是: ->消息在8:30:42到达服务总线主题 ->函数在8:30:42开始处理时拾取消息 ->该进程的响应时间为19.4秒 ->记住我的锁是1分钟 我的函数处理是做什么的 -> at 8:30:44 I made a call out to serivceX (http) (2 seconds late

MessageLockLostException无原因发生。我们将锁定时间设置为1分钟,并在处理20秒后间歇性抛出此异常。这是没有理由的。我们注意到它通常发生在一分钟的末尾或开头。我的意思是:

->消息在8:30:42到达服务总线主题

->函数在8:30:42开始处理时拾取消息

->该进程的响应时间为19.4秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯……可能是因为函数在一分钟内仍在处理,或者是因为8:31:59发生了变化。。8:32:00 .. 8:32:01??? 跟我来这里

->异常发生后,消息锁被释放,并在8:31:02由另一个函数实例处理,并在743毫秒内完成

同样的事情也发生了

->消息在8:30:37到达服务总线主题

->函数在8:30:39拾取消息并开始处理(2秒后)

->该过程的响应时间为19.5秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯…可能是因为函数还在处理中,一分钟的结束时间接近8:30:59???跟我来这里

->异常发生后,消息锁被释放,并在8:31:38由另一个函数实例处理,并在1.8秒内完成

同样的事情也发生了

->消息在10:43:01到达服务总线主题

->函数在10:43:02开始处理时拾取消息(1秒后)

->该过程的响应时间为19.3秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯…可能是因为函数开始处理,10:43:02分钟开始???跟我来这里

->异常发生后,消息锁被释放,并在10:44:02由另一个函数实例处理,并在2.0秒内完成

同样的事情也发生了

->消息在2:24:31到达服务总线主题

->函数在2:24:35拾取消息并开始处理(4秒后)

->该过程的响应时间为19.3秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯……可能是因为函数仍在处理中,快到一分钟结束时接近2:24:54。。2:24:55等等???跟我来这里

->异常发生后,消息锁被释放,并在2:25:35由另一个函数实例处理,并在1.9秒内完成

同样的事情也发生了

->消息在2:30:55到达服务总线主题

->函数在2:30:56开始处理时拾取消息(1秒后)

->进程的响应时间为19.2秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯…这上面没有配给,但请跟我来

->异常发生后,消息锁被释放,并在2:31:56由另一个函数实例处理,并在1.6秒内完成

同样的事情也发生了

->消息在11:52:55到达服务总线主题

->函数在11:52:56开始处理时拾取消息(1秒后)

->该过程的响应时间为19.3秒

->记住我的锁是1分钟

我的函数处理是做什么的

-> at 8:30:44 I made a call out to serivceX (http) (2 seconds later)
-> this responded in 341 milliseconds
-> at 8:31:02 the MessageLockLostException is being thrown
-> at 8:30:55 I made a call out to serivceX (http)
-> this responded in 1.4 seconds
-> at 8:30:58 the MessageLockLostException is being thrown
-> at 10:43:02 I made a call out to serivceX (http)
-> this responded in 341 milliseconds
-> at 10:43:21 the MessageLockLostException is being thrown
-> at 2:24:35 I made a call out to serivceX (http)
-> this responded in 444 milliseconds
-> at 2:24:54 the MessageLockLostException is being thrown
-> at 2:30:56 I made a call out to serivceX (http)
-> this responded in 468 milliseconds
-> at 2:31:15 the MessageLockLostException is being thrown
-> at 11:52:56 I made a call out to serivceX (http)
-> this responded in 509 milliseconds
-> at 11:53:15 the MessageLockLostException is being thrown
嗯…这上面没有配给,但请跟我来

->异常发生后,消息锁被释放,并在11:53:55由另一个函数实例处理,并在1.8秒内完成

请注意,偶发故障的时间大约为19.2-19.4秒…但故障中没有一致性


消息LockLostException抛出后,下一个函数成功

预取是什么?MaxLockDuration是否被其他内容修改?您是否尝试重新创建队列?预取是什么?MaxLockDuration是否被其他内容修改?您是否尝试重新创建队列?