miércoles, junio 08, 2005

Errores con Mondrian >(

En los ultimos 3 días he estado atorado con una excepción que me lanza Mondrian cuando trato de agregar algunas Dimensiones a mi Cubo, la excepción solo me indica que el servidor de Mondrian realizó un error interno, pero no explica ninguna causa aparente, esta esto es la respuesta que me envía:

javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "test" with value "${query01.result.overflowOccured}": An error occurred while getting property "result" from an instance of class com.tonbeller.jpivot.tags.OlapModelProxy (com.tonbeller.jpivot.olap.model.OlapException: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select {[Measures].[Total Defunciones]} ON columns, {[Principales].[Principales]} ON rows from [Deaths] ])

Al parecer cuando se intenta hacer una especie de prueba para verificar los campos, ocurre un error al tratar de devolver el objeto, si en la configuración de mi Cubo remuevo el uso de la dimensión el error desaparece y ejecuta propiamente el código, por lo tanto se que el problema es justamente al tratar de agregar ciertas dimensiones.

No se si el problema se deba a las capacidades limitadas dde mi sistema, pero si me remito al ejemplo de Mondrian, ellos usan tablas con más registros y no causa ningun problema.

Esta escpeción me esta volviendo loco, porque no encuentro respuestas, la documentación de Mondrian esta muy rudimentaria, solo esta el API y un ejemplo de como construir un esquema, la lista de discusión no me ha dado respuesta. A pesar de ser el producto más recomendado de software libre, no he encontrado muchas comunidades que lo utilizen, esta es la primera vez que me encuentro de frente con el problema de que en el SWL no hay documentación disponible, soporte o soluciones comunes, seguire intentado para lograr desplegar la información, incluso he estado realizando mejoras sobre la base de datos, agregando indices y verificando las llaves primarias.

2 comentarios:

Frederico Ramos dijo...

Hi,
I found your post searching for the same error in Google, and now, a couple of days later, I solved the problem.

Seems like I was mistyping the database table name, in the cube´s configuration XML file.

I didnt look further into JPivot code, but when it checks for an overflow property and the database information is incorrect in the cube file, it throws that internal error exception leaving no clue of where or why the error occurred.

To find out the real error, I went to the testpage.jsp JSP, and removed the following code:

< %-- if there was an overflow, show error message --% >
< c:if test="${query01.result.overflowOccured}" >
...
< / c:if >

Then the JSP will terminate, and the REAL exception will be raised (in my case, the message was 'table xyz not found in database').

Hope it helps you.
Fred

Anónimo dijo...

Great Tip!!! Thank you so much :)