2

I currently have a pretty big job up and running on Pentaho Spoon 5.4.0.1-130, but, unfortunately, I keep getting an error when I try to execute the same job on Pentaho Kitchen:

2016/09/08 03:36:05 - Staging Titular.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected error rolling back the database connection.
2016/09/08 03:36:05 - Staging Titular.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2016/09/08 03:36:05 - Staging Titular.0 - Unable to get database metadata from this database connection
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.run (Job.java:424)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:532)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.Job.execute (Job.java:716)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.job.entries.trans.JobEntryTrans.execute (JobEntryTrans.java:1065)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.trans.Trans.execute (Trans.java:607)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.trans.Trans.prepareExecution (Trans.java:1120)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose (TableOutput.java:610)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.core.database.Database.rollback (Database.java:845)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.core.database.Database.rollback (Database.java:853)
2016/09/08 03:36:05 - Staging Titular.0 -  at org.pentaho.di.core.database.Database.getDatabaseMetaData (Database.java:2758)
2016/09/08 03:36:05 - Staging Titular.0 - 
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:2760)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.core.database.Database.rollback(Database.java:853)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.core.database.Database.rollback(Database.java:845)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:610)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:1120)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.trans.Trans.execute(Trans.java:607)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:1065)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:716)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:859)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.execute(Job.java:532)
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.job.Job.run(Job.java:424)
2016/09/08 03:36:05 - Staging Titular.0 - Caused by: java.lang.NullPointerException
2016/09/08 03:36:05 - Staging Titular.0 -   at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:2758)
2016/09/08 03:36:05 - Staging Titular.0 -   ... 13 more

I have no idea what might be happening, so any help would be appreciated.

Thanks for your time!

Isabelle
  • 631
  • 1
  • 7
  • 14
  • 2
    looks like kitchen doesn't get the database connection. Is this a shared database connection? If so, do you execute kitchen from the task scheduler or from the command line? Shared database connections are saved in the user profile, so you have to execute the kitchen job with the same user as in spoon. Or make sure both user accounts have the database connection information available. – Dirk Trilsbeek Sep 08 '16 at 18:46

1 Answers1

0

Thankfully, Dirk Trilsbeek was right! (see the first comment on the question)

The problem was with a shared database connection. Once I configured schtasks (windows task scheduler) to use the correct user, I had no problem using Kitchen to execute my job.

Below is the configuration I'm currently using to run the task:

REM call-pentaho-job.bat
c:
cd /d "C:\pentaho\data-integration"
call Kitchen.bat /file:"C:\app\my-job.kjb" /level:Detailed /logfile:"C:\app\logs\my-job.txt"
exit
REM
REM schtasks /create /tn "MY-PENTAHO-JOB" /tr "\"C:\app\call-pentaho-job.bat\"" /ru MYDOMAIN\myuser /sc daily /st 03:00
REM

Thank you, Dirk!

Isabelle
  • 631
  • 1
  • 7
  • 14
  • 1
    fyi the shared database comes from the users .kettle home dir. you could specify a different directory for .kettle and then wouldn't matter what user it ran as. – Codek Sep 16 '16 at 15:12