【问题标题】:Wrong operation index in execute batch exception执行批处理异常中的错误操作索引
【发布时间】:2013-09-17 18:49:36
【问题描述】:

在 Windows Azure 表上执行批处理操作时,我得到一个超出数组范围的操作索引。

异常

异常:Microsoft.WindowsAzure.Storage.StorageException:操作的意外响应代码:0
在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync[T](IAsyncResult 结果) 索取资料
请求ID:e31dbcbc-8dc2-46ba-b096-9872b34072cb
请求日期:2013 年 9 月 15 日星期日 10:41:10 GMT
状态消息:已接受
错误代码:无效输入
ErrorMessage= 68:其中一个请求输入无效。
batchOperation.Count=68

从上面的错误信息可以看出,失败的操作索引为 68(从零开始),而批处理中的操作总数为 68(因此最大索引为 67)。

为什么会发生这种情况,我该如何避免?

谢谢,

【问题讨论】:

  • 您能否提供更多详细信息,例如您使用的是什么版本的存储客户端库(肯定是 2.0)。它是一个什么样的应用程序?
  • 我使用的是 2.0 版本的库。
  • 嗯...根据这篇文章,存储异常首先是不可靠的。msdn.microsoft.com/en-us/library/windows/desktop/…
  • 您能否提供确切的版本,在第一个版本中存在索引解析不正确并且总是指向第零项的问题。我建议升级到 2.0.6.1(甚至是 2.1,其中包括任务、iqueryable 等)。本质上,之所以会发生此错误,是因为批次中的一个实体导致了错误,因此整个批次自动失败。该索引将指向导致故障的项目。一个常见的错误是客户端尝试持久化超出范围的 DateTime 对象(就像 minvalue 等)。

标签: azure azure-table-storage azure-storage


【解决方案1】:

我有另一个泄漏端口的错误,我必须将 WindowsAzure.Storage API 升级到版本 2.1.0.0。由于我升级到这个版本,在批处理异常错误中看不到不一致的操作索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多