04-23-2017 11:59 PM
getting error ERROR: IllegalArgumentException: Comparison method violates its general contract! when running query through impala-shell or impala jdbc.
this problem is coming in PROD which is very embarasing as never thought such kind of weired problem will come.
please help to resolve the problem.
using Impala Shell v2.7.0-cdh5.9.0 .
Solved! Go to Solution.
04-24-2017 02:09 PM
My apologies for this unsightly issue and error message.
You are running into an issue with a relativey new feature - runtime filters.
We have identified and fixed the issue in later versions, see:
Please first check that the relevant tables have stats.
As a workaround, you may either disable runtime filters:
or you can increase the number of allowed filters per-query:
The issue only occurs for complex queries where the number of runtime filters exceed the per-query runtime filter budget (we sort all runtime filters and try to pick the best top-N, which is where this issue is happening).
04-27-2017 06:23 PM
I believe you can append query options applied to that JDBC to the connection string like this:
Alternatively, you should be able to run "SET RUNTIME_FILTER_MODE=OFF" as a query from JDBC to alter the defauly query options of that session.