dremio random 函数造成dremio crash 问题

以前没注意使用random,在看社区问题的时候测试了下发现的确有类似的问题,官方的解决方法是通过配置
禁用gandiva 优化

参考配置

  • 支持key格式
 
exec.disabled.gandiva-functions: <function>;<function>
  • 参考配置

参考禁用处理

sabot/kernel/src/main/java/com/dremio/exec/expr/ExpressionEvaluationOptions.java

  public ExpressionEvaluationOptions(OptionManager options) {
    this.options = options;
    String disabledFunctions = options.getOption(ExecConstants.DISABLED_GANDIVA_FUNCTIONS);
   // 通过; 分割,同时转换为小写,所以名称是不区分大小写的
    this.disabledGandivaFunctions = Arrays.stream(disabledFunctions.split(";")).map(String::toLowerCase).map(String::trim).collect(Collectors.toSet());
  }

参考资料

https://community.dremio.com/t/docker-crashes-when-using-the-random-function-in-a-sql-query/11420
sabot/kernel/src/main/java/com/dremio/exec/ExecConstants.java
sabot/kernel/src/main/java/com/dremio/exec/expr/ExpressionEvaluationOptions.java

posted on 2024-01-25 10:30  荣锋亮  阅读(8)  评论(0编辑  收藏  举报

导航