[Mondrian] BitKey pos exceeds capacity

Julian Hyde julianhyde at gmail.com
Fri Nov 15 13:01:07 EST 2013


Can you log a jira case for this? We fixed the previous issue, and your scenario is sufficiently different that it's probably a separate bug. 

I wonder whether the multi-threaded nature of your application is causing this. If the list of columns in a star is changing, say because one connection is using a star for a query while another one is building a schema and adding columns to the same star, then that might explain it. I don't have the solution to the bug, but hopefully these remarks would give an engineer a clue where to look.

Julian

On Nov 15, 2013, at 3:43 AM, Hilario Fernandes <hilario.fernandes at cortex-intelligence.com> wrote:

> So, i've been trying to isolate this issue and it has not been easy, but finally i've managed to get one run where i got the erros in a log i could use to present here. One thing to point out, this is not consistent. The sequence of queries that gave the error might not give it if i run it again on the same conditions with no change in the data. This is what is making it so hard to figure what's causing it.
> 
> The project i'm working is built uppon grails framework, there is a service in it that holds the olapConnection to run the queries. These are the startup parameters:
> 
> def connectionProperties = '' << 'jdbc:mondrian:'
> connectionProperties << "Jdbc="jdbc:monetdb://host:50000/database;"
> connectionProperties << "JdbcUser=username;"
> connectionProperties << "JdbcPassword=password;"
> connectionProperties << "JdbcDrivers=nl.cwi.monetdb.jdbc.MonetDriver;"
> connectionProperties << "UseContentChecksum=true;"
> connectionProperties << "CatalogContent=<Schema name=\"CUBES\"></Schema>"
> 
> Class.forName("mondrian.olap4j.MondrianOlap4jDriver")
> def connection = DriverManager.getConnection(connectionProperties)
> def olapConnection = connection.unwrap(OlapConnection.class)
> 
> 
> The cube schema is generated per analysis so we add it before the query and remove it after its completed ("INFO  mondrian.MondrianBridge CURRENT CUBES:[]" in the log indicates the cubes in the global schema at that time). This is the code we use for that:
> 
> RolapSchema schema = getServerSchema(olapConnection)
> schema.createCube(xml)
> ...
> schema.removeCube(cubeId)
> 
> 
> Query execution is done with this code:
> 
> OlapStatement statement = olapConnection.createStatement()
> statement.executeOlapQuery(query)
> 
> 
> As for the log, i've added it here so the email is shorter: http://pastebin.com/Y7Z0Hi0b
> 
> Any ideas are appreciated!
> 
> 
> On Wed, Nov 13, 2013 at 5:54 PM, Julian Hyde <julianhyde at gmail.com> wrote:
> This looks very much like http://jira.pentaho.com/browse/MONDRIAN-1047. Worth checking whether we have regressed.
> 
> Julian
> 
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
> 
> 
> 
> 
> -- 
> Hilario Fernandes
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian

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


More information about the Mondrian mailing list