[Mondrian] problems with concurrency (shepherd) execution

Paul Stoellberger p.stoellberger at gmail.com
Mon Oct 17 09:01:37 EDT 2011


Hi,

some users have report the below pasted bug when using saiku (mondrian 3.3-SNAPSHOT). it doesn't always appear, just sometimes.... and in some environments... i couldnt find a clear path to reproduce the problem...

My assumption is, since statement.end() is called in RolapConnection:642 (see stacktrace) that in case of an error StatementImpl throws an error because the execution hasn't finished

What confuses me as well in MondrianOlap4jStatement is that this.execution is never set. only in start() and in there i cant see how that would ever work by just using that

public synchronized void start(Execution execution) {
        if (this.execution != null) {
            throw new AssertionError();
        }
		....
		this.execution = execution;



the stacktrace of the bug:
Caused by: mondrian.olap.MondrianException: Mondrian Error:java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: mondrian.olap4j.FactoryJdbc4Impl$MondrianOlap4jCellSetJdbc4 at 13ea6bf != null
	at mondrian.rolap.RolapResultShepherd.shepherdExecution(RolapResultShepherd.java:171)
	at mondrian.rolap.RolapConnection.execute(RolapConnection.java:580)
	at mondrian.olap4j.MondrianOlap4jCellSet.execute(MondrianOlap4jCellSet.java:88)
	at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQueryInternal(MondrianOlap4jStatement.java:408)
	at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:340)
	at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:426)
	at org.olap4j.query.Query.execute(Query.java:292)
	at org.saiku.olap.query.OlapQuery.execute(OlapQuery.java:175)
	at org.saiku.service.olap.OlapQueryService.execute(OlapQueryService.java:164)
	... 91 more
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: mondrian.olap4j.FactoryJdbc4Impl$MondrianOlap4jCellSetJdbc4 at 13ea6bf != null
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at mondrian.rolap.RolapResultShepherd.shepherdExecution(RolapResultShepherd.java:145)
	... 99 more
Caused by: java.lang.IllegalArgumentException: mondrian.olap4j.FactoryJdbc4Impl$MondrianOlap4jCellSetJdbc4 at 13ea6bf != null
	at mondrian.server.StatementImpl.end(StatementImpl.java:94)
	at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:642)
	at mondrian.rolap.RolapConnection.access$000(RolapConnection.java:52)
	at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:586)
	at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:585)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	... 1 more

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20111017/c2bcca98/attachment.html 


More information about the Mondrian mailing list