Pentaho Repository issues
Follow the suggestions in these topics to help resolve common issues associated with the Pentaho Repository:
- Debugging a corrupted Pentaho Server repository
- Unable to get list of repositories
See Pentaho Troubleshooting articles for additional topics.
Debugging a corrupted Pentaho Server repository
A corrupted Pentaho Repository will become unresponsive resulting in missing content, inaccessibility, and the following error message that appears in the /pentaho-server/tomcat/logs/catalina.out log file:
ERROR [ConnectionRecoveryManager] could not execute statement, reason:
File corrupted while reading record: "page[48970] data leaf table:8 entries:1 parent:49157
keys:[118547] offsets:[737]". Possible solution: use the recovery tool [90030-131],
state/code: 90030/90030
If this error occurs, shut down the Pentaho Server and restore your solution repository from a recent backup.
If you do not have a viable backup, you may be able to minimize data loss by identifying the exact file that is corrupt. Enable debug logging by adding the following XML snippet above the <root>
element in the /WEB-INF/classes/log4j2.xml inside your deployed pentaho.war:
<Logger name="org.pentaho.platform" level=”DEBUG>
Restart the Pentaho Server and retry the action that caused the original error. If it occurs again, shut down the Pentaho Server and open the catalina.out log file in Tomcat. The last line that appears before the error usually contains the name of the file that has been damaged.
When you have finished investigating, remove the extra logging capabilities so that your Pentaho Server log files do not become large and unmanageable.
Using the H2 database recovery tool
Read more about the recovery tool on the H2 Web site: http://www.h2database.com/html/advanced.html#using_recover_tool.
Follow these directions to use the recovery tool:
Procedure
Open a terminal on (or establish an SSH connection to) your Pentaho Server.
Navigate to the /pentaho-solutions/system/jackrabbit/repository/version/ folder.
cd pentaho-server/pentaho-solutions/system/jackrabbit/repository/version/
Run the h2-1.2.131.jar H2 database JAR with the recovery tool option.
java -cp h2-1.2.131.jar org.h2.tools.Recover
Create a directory to move your old database files.
mkdir old
Move the old database files to the directory created in the previous step.
mv db.h2.db db.trace.db old
Re-initialize the repository with the RunScript option using the salvaged SQL dump as the source.
java -cp h2-1.2.131.jar org.h2.tools.RunScript -url jdbc:h2:./db -user sa -script db.h2.sql
The backup directory you created earlier (old in the above example) can be removed after you are sure that you no longer need the corrupted database files.
Start the Pentaho Server and check for further errors. If repository errors persist, contact Pentaho support.
Unable to get list of repositories
There was an error posting the transformation on the remote server: org.pentaho.di.core.exception.KettleException: Unable to get a list of repositories to locate repository 'repo'To execute a job or transformation remotely on a Carte server, you first need to copy the local repositories.xml from the user's .kettle directory to the Carte server's $HOME/.kettle directory. The Carte service also looks for the repositories.xml file in the directory where Carte was started.