由于异常情况和应用程序逻辑中的错误,数据在表中被多次写入和删除,导致逻辑删除/生存率非常高。这导致使用默认提取大小的服务器端读取超时。我的问题是,对语句进行更改是否会在重试策略回调中允许使用,这会产生任何影响吗?像
public class MyRetryPolicy implements RetryPolicy {
private static final int MIN_FETCH_SIZE = 1000;
@Override
public RetryDecision onReadTimeout(Statement statement, ConsistencyLevel cl, int requiredResponses, int receivedResponses, boolean dataRetrieved, int nbRetry) {
if (receivedResponses < requiredResponses && statement.getFetchSize() > MIN_FETCH_SIZE) {
statement.setFetchSize(Math.max(MIN_FETCH_SIZE, statement.getFetchSize() / 2));
return RetryDecision.retry(cl);
} else {
return RetryDecision.rethrow();
}
}
...
问题仅涉及某些令牌范围,更像一次性的事情,因此不想永久减小所有读取的读取大小。