【问题标题】:"Operation was cancelled" exception is throwing for long running Azure indexer长时间运行的 Azure 索引器引发“操作已取消”异常
【发布时间】:2019-11-01 12:51:01
【问题描述】:

当 Azure Indexer 运行更大的记录(大约 2M+)时,我们收到“操作已取消”异常。这是日志详细信息 -

“操作已取消。无法从传输连接读取数据:I/O 操作已因线程退出或应用程序请求而中止。I/O 操作已因线程而中止退出或应用程序请求“

我们正在线程下运行索引器。它适用于较小的记录,但对于较大的记录 (1M+),它会抛出 Socket Exception。

是否有人在运行 Azure Indexer 以获取更大的记录(长时间运行)时看到此错误?

(我们已经将 httpclient 超时时间增加到 serviceClient 对象的最大值。)

【问题讨论】:

    标签: azure search cloud azure-sdk-.net


    【解决方案1】:

    这可能是由于过多的 http 连接而发生的。尝试使您的**HttpClient** 静态化,看看是否有任何改进。 **HttpClient** 需要超时到最大值才能以最大记录执行。

    您可能还需要考虑减少 sql 查询时间以获得最佳索引器性能。如果可能,请分享您的代码。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      尝试将SearchServiceClient.HttpClient.Timeout 设置为Timeout.InfiniteTimeSpan。在向 Azure 认知搜索发送任何请求之前,您必须设置超时。

      client.HttpClient.Timeout = Timeout.InfiniteTimeSpan;
      

      【讨论】:

        猜你喜欢
        • 2020-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-12
        • 2012-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多