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
Follow the instructions below to implement accented character set support. Change the paths to match your configuration.
- Stop the Tomcat service.
sudo /etc/init.d/tomcat stop
- Open the /tomcat/server/conf/server.xml file with a text editor.
- 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" />
- 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:
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
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: \!
Kitchen.bat /file:"zip:file:///C:/Pentaho/PDI Examples/Sandbox/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.
Cannot Run a Job in a Repository on a Carte Instance from another Job
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:
- Using an editor, open the
<HOME>/.kettle/repositories.xmlfile on the server where the Carte instance is located.
- 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>
- Save and close the file.
You can now run jobs in a repository on a Carte instance from another job.
Execute Scheduled Jobs on a Remote Carte Server
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.
- Stop the DI Server and remote Carte server.
- 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 Pentaho Repository to retrieve PDI content.
- Open the /pentaho/server/data-integration-server/tomcat/webapps/pentaho-di/WEB-INF/web.xml file with a text editor.
- Find the Proxy Trusting Filter filter section, and add your Carte server's IP address to the param-value element.
- Uncomment the proxy trusting filter-mappings between the <!-- begin trust --> and <!-- end trust --> markers.