Troubleshoot the Pentaho system

Use these categories to troubleshoot common issues.

circle-info

If you installed Pentaho Server on your own Tomcat, pentaho.log is under pentaho-server/tomcat/logs.

You can monitor transformations, jobs, and database connections through PDI logging. For the Pentaho Server, review pentaho.log in pentaho-server/logs.

Use logging first when you troubleshoot Pentaho components. Logging helps you validate behavior and narrow root causes fast.

In this topic

General issues

Resolve common issues with the Pentaho suite.

JDBC driver issues

Make sure the correct JDBC driver JARs are installed. Remove conflicting driver versions.

If you use the JDBC Distribution Tool, it can place drivers correctly. For more details, see Install Pentaho Data Integration and Analytics.

To install a JDBC driver for the Pentaho Server:

  1. Stop the Pentaho Server.

  2. Copy the driver JAR to <pentaho-install-directory>/server/pentaho-server/tomcat/lib.

  3. Start the Pentaho Server.

Data conversion issues with MySQL driver 5.0.8

MySQL JDBC driver version 5.0.8 can cause data conversion errors. Numeric-to-string conversions may return a byte array instead of a string.

Replace mysql-connector-java-5.0.8.jar with mysql-connector-java-5.0.7.jar. Restart your client tool or application server.

Fixing JTDS varchar(Max) limitations in MSSQL 2005

Reports that use varchar(MAX) can return a net.sourceforge.jtds.jdbc.ClobImpl@... error. This is a known limitation in older JTDS drivers.

Upgrade to Microsoft SQL Server JDBC driver version 1.0.809.102 or later. Download the driver from Microsoftarrow-up-right. Restart SQL Server.

Security issues

Tune security logging and troubleshoot authentication issues.

In this section

Increase security log levels in the Pentaho Server

The security logging facilities of the Pentaho Server are set to ERROR by default. This level might not provide enough detail for troubleshooting.

Use this procedure to enable verbose security logging.

  1. Stop the Pentaho Server.

  2. Open /pentaho/server/pentaho-server/tomcat/webapps/pentaho/WEB-INF/classes/log4j2.xml.

  3. Change or add the ThresholdFilter value in the <Console> or <RollingFile> sections. Use WARN, ERROR, FATAL, or DEBUG.

  4. Add the following log statements directly above the Root element:

  5. Save the file.

  6. Edit the Spring Security configuration file for your security provider in /pentaho/server/pentaho-server/pentaho-solutions/system/.

    • applicationContext-spring-security-memory.xml

    • applicationContext-spring-security-jdbc.xml

    • applicationContext-spring-security-ldap.xml

  7. Find the daoAuthenticationProvider bean definition.

  8. Add this property anywhere inside the bean, before </bean>:

  9. Save the file.

  10. Start the Pentaho Server.

Verbose security messages are written to /pentaho/server/pentaho-server/logs/pentaho.log. Reduce logging when you finish testing to prevent the log from growing too large.

Enable extra LDAP security logging

Use this procedure when you need more LDAP details in pentaho.log.

circle-exclamation
  1. Stop the Pentaho Server.

  2. Open applicationContext-spring-security-ldap.xml from /pentaho/server/pentaho-server/pentaho-solutions/system.

  3. Locate the bean declaration for DefaultLdapAuthenticationProvider.

  4. Replace the constructor-arg bean.

    Old bean:

    New bean:

  5. Open pentaho-spring-beans.xml in the same directory.

  6. Add this import line:

  7. Save the file.

  8. Open log4j2.xml from /pentaho-server/tomcat/webapps/pentaho/WEB-INF/classes.

  9. Add this logger:

  10. Save the file.

  11. Start the Pentaho Server.

Log output security analysis

Use these examples to locate security configuration issues in pentaho.log.

  • When you request a protected page while not signed in:

  • When the user name or password does not match what is stored in the back end:

  • When authentication succeeds:

After InteractiveAuthenticationSuccessEvent, the filters show the roles fetched for the user. Compare these roles to the page-role mapping in the filterInvocationInterceptor bean in applicationContext-spring-security.xml.

If you are troubleshooting LDAP, look for output like this:

LDAP roles issues with Admin and Authenticated

Do not use Admin and Authenticated roles in LDAP. Use pentahoAdmins and pentahoUsers, or other clear names.

  1. Open /pentaho-solutions/system/applicationContext-spring-security.xml.

  2. At the bottom, find URL security entries like:

  3. Replace Authenticated with pentahoUsers (or your chosen name).

    Example:

    A/docs/.*Z=Anonymous,pentahoUsers

  4. Replace Admin with pentahoAdmins (or your chosen name).

  5. Edit /pentaho-solutions/system/repository.spring.xml.

  6. Change the authenticated role name.

    From:

    To:

  7. Change the admin role name.

    From:

    To:

With LDAP authentication, the PDI Repository Explorer is empty

This can happen when you log on to a solution repository from the PDI client, then later switch authentication to LDAP. Repository IDs and security structures can become inconsistent.

To fix it, delete security settings created by the previous authentication method. This forces the server to regenerate settings for LDAP.

circle-exclamation
  1. Stop the Pentaho Server.

  2. Delete the security and default directories from:

    /pentaho-solutions/system/jackrabbit/repository/workspaces/

  3. Start the Pentaho Server.

LDAP incorrectly authenticates user IDs that do not match letter case

Some LDAP implementations are case-insensitive. This is common in Microsoft Active Directory.

This can allow bILL to authenticate as Bill. It can also grant incorrect access.

  1. Stop the Pentaho Server.

  2. Edit /pentaho/server/pentaho-server/pentaho-solutions/system/applicationContext-spring-security-ldap.xml.

  3. Find this bean:

    <bean class="org.pentaho.platform.plugin.services.security.userrole.ldap.DefaultLdapAuthenticationProvider">

  4. Below the last </constructor-arg> in that bean, add:

  5. After the </bean> tag for daoAuthenticationProvider, add this bean. Set ldapUsernameAttribute to match your environment:

  6. Start the Pentaho Server.

Connection timeout issues when using CAS

CAS session timeouts can prevent sign-in. They can also block data reloads until users refresh the page.

Configure the Pentaho session timeout to exceed the CAS session timeout.

  1. Stop the Pentaho Server.

  2. Open pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml.

  3. Find session-config.

  4. Increase session-timeout (default is 120 minutes).

  5. Locate the Pentaho Web Context Filter.

  6. Add this init-param:

  7. Save the file.

  8. Open pentaho-server/pentaho-solutions/system/applicationContext-spring-security-cas.xml.

  9. Locate the httpSessionPentahoSessionContextIntegrationFilter bean.

  10. Set ssoEnabled from true to false.

  11. Save the file.

  12. Restart the Pentaho Server.

When the session expires, users see a timeout dialog. Closing the dialog triggers CAS reauthentication.

Cannot change Administrator password in PUC

When you add an administrator account in the Pentaho User Console (PUC), you have:

  • the default admin password

  • a password for the additional administrator account

When you change the password for the additional administrator account, you might see an error. Enter the password of the currently signed-in administrator in Administrator password.

Change PUC Password dialog box

Snowflake logging errors

You might see this warning while connecting to Snowflake:

WARNING: Connect strings must start with jdbc:snowflake://

Pentaho 9.5 upgraded the Snowflake JDBC driver to 3.13.29 to address security concerns.

To resolve the warning, download Snowflake JDBC driver 3.13.30 from:

https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.13.30/snowflake-jdbc-3.13.30.jar

Replace the existing JAR in:

pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/

Pentaho Server issues

Use these fixes for common Pentaho Server issues.

In this article

Publishing a domain to the Pentaho Server fails

If publishing a domain fails, confirm these statements are true:

  • The Pentaho Server is running.

  • Your user has the administrator role. The default is admin.

  • The Web Publish URL and Domain Name have no leading slashes.

  • The Web Publish URL and Domain Name have no trailing slashes.

Library conflicts

The Pentaho Server uses many third-party libraries.

Incompatible versions in the application server’s global lib folder can cause startup and runtime issues.

Pick library versions that match your environment.

These JARs are known to cause issues:

  • commons-collections-3.2.jar (from Pentaho)

  • jettison-1.01.jar (from Pentaho)

Report parameters with accented characters

If you run a report with accented characters in parameters, you might see:

This parameter value is of an invalid value.

Add UTF-8 URI encoding to Tomcat connectors.

1

Stop Tomcat

2

Update server.xml

Open /tomcat/server/conf/server.xml.

For each Connector element, add URIEncoding="UTF-8".

3

Restart Tomcat

VFS provider.xml duplicates

The vfs-provider.xml file can exist in multiple application JARs.

Multiple copies can cause classpath errors.

Merge the files into one canonical version.

Tomcat logs report memory leaks

When you shut down Tomcat, you might see SEVERE warnings like these:

These messages can matter during restarts or redeployments.

Restart Tomcat instead of redeploying the web application.

Windows domains will not authenticate when using the JTDS driver

With the JTDS JDBC driver, Windows DOMAIN\\user syntax does not work in the URL.

Append the domain at the end of the URL with a semicolon.

Unable to run XAction when using the JavaScript component

JavaScriptAction runs arbitrary JavaScript code on the Pentaho Server.

Pentaho disables it by default.

circle-exclamation
1

Stop the server

Stop the Pentaho Server if it is running.

2

Edit plugins.properties

Go to:

/tomcat/webapps/pentaho/WEB-INF/classes/org/pentaho/platform/engine/services/runtime

Open plugins.properties.

3

Uncomment JavaScriptAction entries

Remove the leading # from these lines:

4

Restart the server

Restart the Pentaho Server.

PDI cannot access Amazon S3

When you access Amazon S3 from the Pentaho Server using the Amazon CLI, you might see authentication errors.

This often happens when the Pentaho Server and the PDI client run on different machines.

Use the same AWS service account for:

  • Your Amazon CLI access to S3

  • Your Pentaho Server login

Pentaho Repository issues

Use these troubleshooting tips for common Pentaho Repository issues.

Unable to get list of repositories

When you work with a repository and try to run a job or transformation remotely on a Carte server, you might see an error like this:

To run a job or transformation remotely on a Carte server, copy the local repositories.xml file from the user's .kettle directory to the Carte server's $HOME/.kettle directory.

Carte also looks for repositories.xml in the directory where you started Carte.

Importing and exporting PDI content with Pentaho 8.0 and earlier

If you export repository contents from Pentaho 8.0 (or earlier) and import them into a later version, the import can fail.

This can happen if you export or import the entire repository. The export can include items in locations that later versions restrict.

To avoid the error, export and import specific items instead of the entire repository.

If you need multiple selections, export each selection separately.

You do not need to export Operations Mart (Ops Mart) content. It is included and updated automatically with each new Pentaho version.

Archived content

These topics are kept for backward compatibility.

chevron-rightArchived: JDBC driver issues (legacy text)hashtag

Before you begin troubleshooting suspected JDBC driver issues, make sure that the correct JDBC driver JARs are installed in the correct locations. You could install your drivers with our JDBC Distribution Tool to ensure they are placed in the correct locations. Also, make sure there are no conflicting driver versions installed. Confirm with your database or driver vendor if you suspect you have JDBC driver compatibility issues. See the Install Pentaho Data Integration and Analytics document for details.

The Pentaho Server needs the appropriate driver to connect to the database that stores your data. You can download drivers from your database vendor's website. Check the JDBC drivers reference in the Try Pentaho Data Integration and Analytics document for a list of supported drivers and links to vendor websites.

Perform the following steps to install the appropriate driver for your Pentaho Server:

  1. Stop the Pentaho Server.

  2. Copy your driver into this location: <pentaho-install-directory>/server/pentaho-server/tomcat/lib.

  3. Start the Pentaho Server.

chevron-rightArchived: Data conversion issues with MySQL driver 5.0.8 (legacy text)hashtag

The MySQL JDBC driver version 5.0.8 may cause data conversion errors in the Pentaho Server. For example, SQL statements that convert a numeric field to a string are returned as a string in version 5.0.7, but return as a byte array in version 5.0.8.

To solve this problem, you must replace the mysql-connector-java-5.0.8.jar with the mysql-connector-java-5.0.7.jar in your client tool or application server's lib folder

chevron-rightArchived: Fixing JTDS varchar(Max) limitations in MSSQL 2005 (legacy text)hashtag

Creating a report that uses a column of type varchar(MAX) may result in a net.sourceforge.jtds.jdbc.ClobImpl@83cf00 error when using the JTDS SQL Server driver. This is caused by inherent limitations in older versions of the JTDS driver. Additionally, the SQL Server JDBC driver version 1.2.2828 also has issues accessing a varchar(MAX) column.

The solution is to upgrade the MSSQL 2005 JDBC driver to version 1.0.809.102 or later. Download and install the http://msdn.microsoft.com/en-us/sqlserver/aa937724arrow-up-right file from Microsoft.com, then restart your MSSQL server.

Last updated

Was this helpful?