Skip to main content
Pentaho Documentation

Fix Transformation and Job Problems

Overview

Provides information on how to fix transformation and job issues.

There are several common transformation and job problems that can be easily addressed.

Report Parameters That Include Accented Characters Fail to Validate

If you run a report that has parameters that include accented characters and you see an error message that says "This parameter value is of an invalid value," then you must make the Tomcat server modification explained in Modifying server.xml To Work With Accented Characters.

Modifying server.xml To Work With Accented Characters

This procedure is only necessary if you plan to use character sets that include accents, such as Spanish and French.

Follow the instructions below to implement accented character set support. Change the paths to match your configuration.

  1. Stop the Tomcat service.
    sudo /etc/init.d/tomcat stop
  2. Open the /tomcat/server/conf/server.xml file with a text editor.
  3. Locate each Connector node (typically there are four in a default Tomcat configuration) and add a URIEncoding="UTF-8" parameter to it, as shown below:
    <Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
  4. Save and close the file, then restart the Tomcat service.
    sudo /etc/init.d/tomcat start

Missing Plugin Error When A Transformation or Job is Opened

If you try to open a transformation or job that contains a step or entry that is not installed in your copy of Spoon, the following error messages appears:

Missing Plugins.PNG 

To remedy this, either add the step or entry in Spoon or go to the marketplace, find the missing step or entry, and install it. See the Install a Plugin with the Marketplace article for details.

Cannot Execute or Modify a Transformation or Job

If you cannot run, preview, debug, replay, verify, schedule, copy, export, or save a transformation or job, have an administrative user check if the role to which you are assigned has been granted execute permission.  Execute permission is needed to perform these tasks.

Step is Already on Canvas Error

Regardless of whether a step is hidden or displayed in the canvas, it is listed in the Steps folder under your transformation in the View tab of the Data Integration perspective. To redisplay the hidden step on the canvas, drag it from the Steps folder in the View tab to the canvas.

Action Sequences That Call PDI Content Won't Run

If you've established a solution repository in PDI to store your jobs and transformations, and you attempt to use that stored PDI content in an action sequence on the BA Server, the action sequence will not execute. This is because the BA Server needs specific connection information for the Data Integration (DI) Server in order to retrieve the job or transformation.

Kitchen can't read KJBs from a Zip export

Note: This also applies to Pan and KTR files in Zip archives.

If you are trying to read a KJB file from a Zip export but are getting errors, you may have a syntax error in your Kitchen command. Zip files must be prefaced by a ! (exclamation mark) character. On Linux and other Unix-like operating systems, you must escape the exclamation mark with a backslash: \!

Windows:

Kitchen.bat /file:"zip:file:///C:/Pentaho/PDI Examples/Sandbox/linked_executable_job_and_transform.zip!Hourly_Stats_Job_Unix.kjb"

Linux:

./kitchen.sh -file:"zip:file:////home/user/pentaho/pdi-ee/my_package/linked_executable_job_and_transform.zip\!Hourly_Stats_Job_Unix.kjb"

Jobs Scheduled on DI Server Cannot Execute Transformation on Remote Carte Server

You may see an error like this one when trying to schedule a job to run on a remote Carte server:

ERROR 11-05 09:33:06,031 - !UserRoleListDelegate.ERROR_0001_UNABLE_TO_INITIALIZE_USER_ROLE_LIST_WEBSVC!
                com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 401: Unauthorized 

To fix this, follow the instructions in Execute Scheduled Jobs on a Remote Carte Server.

If you run a Job on a Carte instance and the repository information does not seem available, and further jobs and transformations cannot be loaded after the job runs a child job, then you may see an error similar to the following message:

RepositoriesMeta - Reading repositories XML file: <HOME>/.kettle/repositories.xml
General - I couldn't find the repository with name 'singleDiServerInstance
(...)
Secondary - Could not execute job specified in a repository since we're not connected to one
(...) 

Perform the steps below to run jobs in a repository on a Carte instance from another job: 

  1. Using an editor, open the <HOME>/.kettle/repositories.xml file on the server where the Carte instance is located.
  2. Add a new <repository> element to it or append the current content with the name singleDiServerInstance, as shown in the following code block:
<repository>
    <id>PentahoEnterpriseRepository</id>
    <name>singleDiServerInstance</name>
    <description/> 
    <is_default>false</is_default>
    <repository_location_url>http://localhost:9080/pentaho</repository_location_url>
    <version_comment_mandatory>N</version_comment_mandatory>
</repository>    
  1. Save and close the file.

You can now run jobs in a repository on a Carte instance from another job.

Follow the instructions below if you need to schedule a job to run on a remote Carte server. Without making these configuration changes, you will be unable to remotely execute scheduled jobs.

Note: This process is also required for using the DI Server as a load balancer in a dynamic Carte cluster.
  1. Stop the DI Server and remote Carte server.
  2. Copy the repositories.xml file from the .kettle directory on your workstation to the same location on your Carte slave. Without this file, the Carte slave will be unable to connect to the DI Repository to retrieve PDI content.
  3. Open the /pentaho/server/data-integration-server/tomcat/webapps/pentaho-di/WEB-INF/web.xml file with a text editor.
  4. Find the Proxy Trusting Filter filter section, and add your Carte server's IP address to the param-value element.
  5. Uncomment the proxy trusting filter-mappings between the <!-- begin trust --> and <!-- end trust --> markers.