1. Comparison method violates its general contract
问题现象:
仪表板中点击组件联动的时候,出现报错信息:Comparison method violates its general contract。
原因分析:
该联动报错是由于升级jar后,jdk里面一个排序不兼容,导致产生上述的java排序异常报错。
解决方案:
进入FineBI目录%FineBI%/bin下,打开 finebi.vmoptions 文件,在其中加上如下参数。
Djava.util.Arrays.useLegacyMergeSort=true
保存并重启FineBI即可。
2. 平台卡顿甚至无法登录
问题现象:
平台卡顿,进入%FineBI%/logs下查看 fanruan.log 日志,where查询中过滤条件数量暴增。
原因分析:
进行表头过滤并且和其他组件联动,导致 where 查询中过滤条件数量暴增。超长过滤的请求阻塞了引擎。
解决方案:
使用 FINE_CONF_ENTITY可视化配置 插件增加 SystemOptimizationConfig.queryConditionCountRestriction 参数。
参数含义:查询时过滤条件的限制数量,对于「where 城市 = "无锡" or (城市 = "南京" and 城市 = "苏州")」来说,其过滤条件就是3个
默认值:null (即不作限制)
建议值:30。也可更小,这取决于你的过滤场景。
参数效果:对于过滤条件数量超出限制的查询直接打断,并报错:condition count out of restriction: xxxx