`
hfwork
  • 浏览: 12624 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

kettle的bug

阅读更多
在kettle中的kettle-core.jar中存在一个bug,导致kjb在spoon中执行同在kitchen执行和调用api的时候执行结果不一样,体现在变量替换中如果要替换的变量不存在的时候,在spoon中替换为空,在kitchen中则不替换。
具体bug所在位置为:org.pentaho.di.core.util.StringUtil中的53行。
原来为
int i = rest.indexOf(open);
    while (i > -1)
    {
      int j = rest.indexOf(close, i + open.length());

      if (j > -1)
      {
        String varName = rest.substring(i + open.length(), j);
        Object value = variablesValues.get(varName);
        if (value == null)
        {
          value = open + varName + close;
        }
        else
        {
          int another = ((String)value).indexOf(open);

          if (another > -1)
          {
            if (recursion > 50)
            {
              throw new RuntimeException("Endless loop detected for substitution of variable: " + (String)value);
            }

            recursion++; value = substitute((String)value, variablesValues, open, close, recursion);
          }
        }
        buffer.append(rest.substring(0, i));
        buffer.append(value);
        rest = rest.substring(j + close.length());
      }
      else
      {
        buffer.append(rest);
        rest = "";
      }

      i = rest.indexOf(open);
    }

其中的
value = open + varName + close;
应该为value = "";

分享到:
评论
1 楼 databclar 2014-04-16  
更新后kettle都不能启动了

相关推荐

    kettle7.0.0

    - **稳定性增强**:修复已知的bug,增强了系统的稳定性和可靠性。 - **兼容性**:可能增加了对最新数据库系统、文件格式和其他技术的兼容性。 - **云计算支持**:可能增强了与云平台的集成,如AWS、Azure或Google ...

    kettle 7.1 的源码

    通过阅读和分析Kettle 7.1的源码,开发者可以深入掌握数据集成的最佳实践,提升解决复杂数据问题的能力,并有可能发现和修复潜在的性能瓶颈或bug。同时,这也是对开源精神的贡献,可以推动Kettle项目的发展,为整个...

    pentaho-kettle_4.2.1基础教程.pdf

    在 Win7 系统下,“Kettle file repository” 类型资源库创建文件夹后,无法删除文件夹,不确定是 Kettle 工具本身的 bug 或者是在 Win7 操作系统下的 bug。 在使用 Kettle 时,需要注意一些重要的设置和配置,例如...

    ETL工具kettle的jar汇总.rar(亲测有效)

    6. **持续更新**:随着Kettle的新版本发布,记得定期检查并更新JAR文件,以利用新功能和修复的bug。 通过这样的JAR汇总包,开发者可以快速搭建和维护Kettle项目,而无需逐一查找和解决依赖问题,大大提高了开发效率...

    pentaho-kettle-6.1.0.2-R.zip

    - 可能修复了一些已知的bug,提升了用户体验。 - 可能增强了与其他Pentaho产品(如Pentaho BI Server)的集成。 4. **使用Pentaho Kettle进行ETL** - **创建Transformation**:用户可以通过Spoon客户端创建数据...

    Kettle 培训教程

    - **官方资源**:用户可以通过官方提供的资源进行学习和问题反馈,比如Bug报告地址(http://jira.pentaho.com/browse/PDI)、官方论坛(http://forums.pentaho.org/forumdisplay.php?f=135)等。 - **中文社区**:...

    Kettle8.1公共部分国际化

    #### 第三章 排查过程中发现的BUG ##### 3.1 菜单部分 - **3.1.1 执行** - 描述:点击“帮助”后,弹出对话框“执行这个转换的帮助”,此时不能关闭帮助对话框,只能先关闭“执行转换”对话框。 ##### 3.2 转换 ...

    Data Integration Kettle 插件 增量数据加载

    对于增量加载插件,这可能包括关于如何使用新的增量特性、性能提升或者bug修复的信息。阅读这些笔记对于了解插件的最新变化和最佳实践至关重要。 最后,`plugin.xml`是Kettle插件的核心配置文件,它定义了插件的元...

    kettle基础教程

    * win7 系统下,“Kettle file repository”类型资源库创建文件夹后,无法删除文件夹,不确定是 Kettle 工具本身的 bug 或者是在 win7 操作系统下的 bug。 * “Kettle database repository”类型资源库虽然有需要...

    Kettle 8.3 源码编译调试操作手册-微酷网.docx

    Kettle 8.3源码编译调试手册旨在指导用户如何在遇到个性化需求或系统Bug时,对Kettle进行源码级别的修改、编译和调试,以便实现自定义功能或快速修复问题。 首先,确保满足以下环境要求: 1. **Java JDK 8**:...

    arm架构下kettle的各版本swt.jar(aarch64版)

    3. **版本更新**:随着Kettle和Linux发行版的升级,可能需要定期检查并更新swt.jar,以利用最新的性能优化和修复的bug。 4. **性能考虑**:SWT库提供了原生的GUI组件,可以在性能上优于纯Java的GUI库(如Java Swing...

    x-smart-kettle-front:基于当前互联网最热的springboot微服务架构,采用丰富的vue,iview等前端组件打造的水壶调度监控服务平台,解决了企业实际数据删除业务场景中,无法实现水壶web端配置,调用,监控的痛点

    每次都要安装一遍,耗费收益简介 Smart Kettle是针对上述企业的痛点,对kettle的使用做了一些包装、优化,使其在web端也能 具备基础的kettle作业、转换的配置、调度、监控,能在很大一定程度上协助企业完成不同业务...

    pentaho-kettle-8.2.0.0-R源码

    3. **错误修复**:修复了前一版本中已知的bug,提高软件的稳定性和可靠性。 4. **界面改进**:用户界面可能得到改进,提供更好的用户体验和操作便捷性。 5. **API增强**:可能增强了API功能,便于开发者集成到其他...

    Kettle 9.4下载

    3. **稳定性增强**:修复了已知的bug,提高了系统的稳定性和可靠性。 4. **更好的数据库支持**:可能增加了对新版本数据库的支持,或者增强了对现有数据库的兼容性。 5. **用户界面改进**:可能改进了用户界面,提供...

    ETL利器Kettle实战应用--应用场景和实战DEMO下载

    传统的实现方式一般都要进行研发(一小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发出来还容易出各种bug;前置机模式:这是...

    数据库比较迁移工具

    本工具支持以下功能: 1. 相同/不同类型数据库进行数据表比较及字段比较,支持三种类型:Oracle,SqlServer,MySql 2. 数据表迁移功能,如:将oracle中Table_1迁移至MySql数据库中,且...Bug反馈:handsomedtl@126.com

    kettke源码分析

    kettke源码分析 kettle是一个开源产品,产品本身设计是很优秀的,代码应该是很多开源爱好者用业余时间贡献的,代码整体结构还是比较容易理解的,但具体到每一个控件内部就因人而异了,感觉还是挺复杂的,肯定别人...

    使用过程命名参数

    2. 错误预防:避免了因参数顺序错误导致的潜在bug,尤其是在有多个参数的情况下。 3. 代码灵活性:在某些语言中,可以混合使用位置参数和命名参数,允许在必要时只指定部分参数。 4. 代码重构友好:当函数的参数...

Global site tag (gtag.js) - Google Analytics