Hello all,

When we are executing some query on Ignite we are seeing the warning
message:
"Query produced big result set."
fetched=100000, duration=676ms, type=LOCAL, distributedJoin=false,
enforceJoinOrder=false, lazy=false

Diving into the code I found it here:
org.apache.ignite.internal.processors.query.running.HeavyQueriesTracker

It has a default threshold of 100_000, and when our queries are returning
more than 100_000 results we get that log message.

The code snippet is:
/**
* Print warning message to log when query result size fetch count is bigger
than specified threshold.
* Threshold may be recalculated with multiplier.
*/
public void checkOnFetchNext() {
++fetchedSize;

if (threshold > 0 && fetchedSize >= threshold) {
LT.warn(log, BIG_RESULT_SET_MSG + qryInfo.queryInfo("fetched=" + fetchedSize
));

if (thresholdMult > 1)
threshold *= thresholdMult;
else
threshold = 0;

bigResults = true;
}
}

But I don't see a place where I can define a threshold in Ignite
(IgniteConfiguration, CacheConfiguration or SqlConfiguration etc) I would
like to set it on the query or on the cache or ignite configuration.

I do see a usage in
org.apache.ignite.internal.processors.query.running.SqlQueryMXBeanImpl
/** {@inheritDoc} */
@Override public void setResultSetSizeThreshold(long rsSizeThreshold) {
heavyQrysTracker.setResultSetSizeThreshold(rsSizeThreshold);
}

But this is not a configuration item.

- Where can I (set / configure) this Threshold in Ignite to a higher value
so we don't get those warnings any longer?
- if we increase the number of nodes, will it help (less data on one node)?

Thanks.

Humphrey

Reply via email to