Pentaho釜/PDI在第二次请求时失败

Pentaho釜/PDI在第二次请求时失败,pentaho,etl,kettle,pentaho-spoon,Pentaho,Etl,Kettle,Pentaho Spoon,我有最新版本的Kettle/PDI。Carte正在Windows上本地运行,配置如下: <slave_config> <slaveserver> <name>master1</name> <hostname>localhost</hostname> <port>8081</port> <master>Y</master> </sla

我有最新版本的Kettle/PDI。Carte正在Windows上本地运行,配置如下:

<slave_config>
  <slaveserver>
    <name>master1</name>
    <hostname>localhost</hostname>
    <port>8081</port>
    <master>Y</master>
  </slaveserver>
  <repository>
    <name>PDI Repo</name>
    <username>username</username>
    <password>password</password>
  </repository>
</slave_config>
您会注意到,对于存储库数据库的某些特定配置,这些基本上是默认设置。通过Spoon,我创建了一个简单的转换,在数据库表上运行select,对列执行一些简单的计算,并返回一些JSON

如果我告诉转换在master1上运行,它就会工作并输出JSON

如果再次运行完全相同的命令,则会出现以下错误:

2016/01/29 10:05:53 - PDI Repo - ERROR (version 6.0.1.0-386, build 1 from 2015-12-03 11.37.25 by buildguy) : Error disconnecting from database :
2016/01/29 10:05:53 - PDI Repo - Unable to commit repository connection
2016/01/29 10:05:53 - PDI Repo -
2016/01/29 10:05:53 - PDI Repo - Error comitting connection
2016/01/29 10:05:53 - PDI Repo -  at java.lang.Thread.run (Thread.java:745)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.trans.step.RunThread.run (RunThread.java:121)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.trans.step.BaseStep.markStop (BaseStep.java:2992)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.trans.Trans$1.stepFinished (Trans.java:1233)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.trans.Trans.fireTransFinishedListeners (Trans.java:1478)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.www.BaseJobServlet$3.transFinished (BaseJobServlet.java:170)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.repository.kdr.KettleDatabaseRepository.disconnect (KettleDatabaseRepository.java:1655)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.disconnect(KettleDatabaseRepositoryConnectionDelegate.java:257)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.commit(KettleDatabaseRepositoryConnectionDelegate.java:283)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.core.database.Database.commit (Database.java:738)
2016/01/29 10:05:53 - PDI Repo -  at org.pentaho.di.core.database.Database.commit (Database.java:757)
我不明白为什么在第一次请求之后,到存储库数据库的连接失败了。尽管出现此错误,Carte仍将继续运行,但通过URL访问时将抛出如下错误:

<webresult>
<result>ERROR</result>
<message>Unexpected error executing the transformation: 
  java.lang.NullPointerException
    at org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:128)
    at org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:106)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2716)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2684)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2661)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2641)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2606)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2569)
    at org.pentaho.di.www.ExecuteTransServlet.loadTransformation(ExecuteTransServlet.java:316)
    at org.pentaho.di.www.ExecuteTransServlet.doGet(ExecuteTransServlet.java:232)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
    at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)</message>
<id />
</webresult>

错误
执行转换时出现意外错误:
java.lang.NullPointerException
位于org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:128)
位于org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:106)
位于org.pentaho.di.trans.TransMeta.(TransMeta.java:2716)
位于org.pentaho.di.trans.TransMeta(TransMeta.java:2684)
位于org.pentaho.di.trans.TransMeta(TransMeta.java:2661)
位于org.pentaho.di.trans.TransMeta.(TransMeta.java:2641)
位于org.pentaho.di.trans.TransMeta(TransMeta.java:2606)
位于org.pentaho.di.trans.TransMeta.(TransMeta.java:2569)
位于org.pentaho.di.www.ExecuteTransServlet.loadTransformation(ExecuteTransServlet.java:316)
网址:org.pentaho.di.www.ExecuteTransServlet.doGet(ExecuteTransServlet.java:232)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
位于org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
位于org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
位于org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)
位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
位于org.eclipse.jetty.server.server.handle(server.java:370)
位于org.eclipse.jetty.server.AbstractHttpConnection.HandlerRequest(AbstractHttpConnection.java:494)
位于org.eclipse.jetty.server.blockingttpconnection.handleRequest(blockingttpconnection.java:53)
位于org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
位于org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
http.HttpParser.parseNext(HttpParser.java:644)
http.HttpParser.parseAvailable(HttpParser.java:235)
位于org.eclipse.jetty.server.blockingttpconnection.handle(blockingttpconnection.java:72)
位于org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
位于org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
运行(Thread.java:745)
我在代码中查找堆栈跟踪,这意味着存储库对象为
null
。因此,出于某种原因,Carte可以连接到PDI存储库,但当它成功一次时,会出现一些错误,它会断开连接,再也找不到转换

<webresult>
<result>ERROR</result>
<message>Unexpected error executing the transformation: 
  java.lang.NullPointerException
    at org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:128)
    at org.pentaho.di.core.vfs.KettleVFS.getFileObject(KettleVFS.java:106)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2716)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2684)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2661)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2641)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2606)
    at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2569)
    at org.pentaho.di.www.ExecuteTransServlet.loadTransformation(ExecuteTransServlet.java:316)
    at org.pentaho.di.www.ExecuteTransServlet.doGet(ExecuteTransServlet.java:232)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
    at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
    at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)</message>
<id />
</webresult>