gpt4 book ai didi

java - Cosmos DB 异步客户端 : Iterator> it is getting stuck on hasNext() method

转载 作者:行者123 更新时间:2023-12-02 09:31:05 27 4
gpt4 key购买 nike

我尝试运行跨分区查询的以下代码卡在 it.hasNext() 行上。无法在此处进一步调试:

    public List<MyDataObject> getList() {
List<Document> documentList =null;
List<MyDataObject> returnList = new ArrayList<>();
try {
FeedOptions feedOptions = new FeedOptions();
feedOptions.setEnableCrossPartitionQuery(true);
SqlQuerySpec querySpec = null;
querySpec = new SqlQuerySpec("SELECT * FROM MyDataObjectColl");
Iterator<FeedResponse<Document>> getDataFromCosmos = myDocumentClient.queryDocuments(collectionLink, querySpec, feedOptions).toBlocking().getIterator();
while (getDataFromCosmos.hasNext()) { //GETTING STUCK ON THIS LINE FOR SOME REASON
FeedResponse<Document> page = getDataFromCosmos.next();
System.out.println("Request Unit Cost for getList " + page.getRequestCharge());
documentList = page.getResults();
for (Document doc : documentList) {
if (doc != null) {
returnList.add(gson.fromJson(doc.toJson(), MyDataObject.class));
}
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return returnList;
}

SDK版本:

    <dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-cosmosdb</artifactId>
<version>2.4.4</version>
</dependency>

嘿,CosmosDB 内部专家请指出可能导致此行为的原因,我怀疑缺少某些库而导致阻塞,请提供帮助。

最佳答案

怀疑存在版本问题导致此问题,基本上我的应用程序内部库正在使用以下版本的commons-lang3:

    <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.1</version>
</dependency>

但是azure-cosmosdb 2.4.4需要不同的:

    <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>

详细说明:基本上,cosmosdb 在类 FetchExecutionRangeAccumulator 内部使用一行 this.stopwatch.getTime(TimeUnit.MILLISECONDS) 但存在 long getTime(final TimeUnit timeUnit)在 commons-lang3 的 3.8.1 版本中,而不是在 3.3.1 版本中,因为它在内部陷入轮询代码,并且如果重试相同的代码流,会间歇性地抛出异常(在 commons-lang3 中找不到方法)。

关于java - Cosmos DB 异步客户端 : Iterator<FeedResponse<Document>> it is getting stuck on hasNext() method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57968220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com