Hitachi Vantara Pentaho Community Forums
Results 1 to 5 of 5

Thread: 4.1.0 - parameter must be a directory. [./simple-jndi]

  1. #1

    Default 4.1.0 - parameter must be a directory. [./simple-jndi]

    I'm trying to migrate from 3.2.5 to 4.1.0 and am only getting this error with 4.1.0(I went back and forth). I have the same files copied to both data-integration directories.

    This is the snippit of code from the log.

    INFO 15-07 09:13:31,507 - NDW JNDI MySQL - New database connection defined
    ERROR 15-07 09:13:31,534 - Count incomplete revisions - An error occurred, processing will be stopped:
    Error occured while trying to connect to the database parameter must be a directory. [/home/users/kettle/CLIENT/simple-jndi]

    I have three steps in this transform that hit the db, and all 3 are giving the same error. I tried deleting and recreating the step using spoon 4.1.0 but I still get the error. I did some searching and can see that others have had this issue but don't see any resolutions to the issues.

  2. #2


    To test this further, I tried creating a step that JUST does a database input in 4.1.0 and it fails with the same error. I also tried copying in a copy of a data-integration folder from another box that works (but doesn't use jndi) and that still gives me the same error. I've given the data-integration folder full permissions. I'm starting to get smashy...

  3. #3


    So I figured out the issue.

    PDI 4.1.0 no longer expects the simple-jndi folder to be in the data-integration directory. It now seems to be relative to where the file was started from, NOT relative to where the job/transform is. This isn't really a good thing, as now if I run my job from my linux script it expects the simple-jndi folder to be in one place, if I run it through cron, it expects it to be one level higher, causing me to keep a duplicate of the file.

    EDIT: I went searching to see if I could find any documentation on this change for a reason why(because there's probably a good one) but haven't yet found any. I'm going to keep looking.
    Last edited by dilbert; 08-09-2011 at 09:29 AM.

  4. #4
    Join Date
    May 2010


    I have the same issue when using and in v4.1 and v4.2. Not a problem when running from spoon because spoon reads the from <PDI-HOME>/simple-jndi directory. This is a different behavior from v3.2. Where can I define where the simple-jndi/ is? There is a case in JIRA that mention KETTLE_JNDI_ROOT parameter. However, how does it work?

  5. #5
    Join Date
    May 2010


    I found the answer. KETTLE_JNDI_ROOT java runtime option is introduced in v4.0 (See However, it is not added to the default and So you need to modify the default shell scripts to specify the KETTLE_JNDI_ROOT option explicitly. For example:

    If KETTLE_JNDI_ROOT is not set, you can set instead according to the jira link. doesn't have such parameter but it works because has a command to cd to the the $BASEDIR of PDI-HOME and, unlike the and, there is no subsequent cd. Since simple-jndi is under $BASEDIR, never fails to find simple-jndi. So the second option of modifying the and is to add a simple command of "cd $BASEDIR" right before the line
    "$_PENTAHO_JAVA" $OPT org.pentaho.di.pan.Pan "${1+$@}"

    But I like the KETTLE_JNDI_ROOT option because it gives you better flexibility if you have multiple simple-jndi directories for whatever reason.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.