Pentaho Metadata

Packet for query is too large

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: Pentaho 1.6.1
  • Fix Version/s: None
  • Component/s: Platform Integration
  • Description:
    Hide
    When you publish the metadata.xmi file to the server, it is sent in 1 chunk to the database. This works in MySQL as long as the wmi file is smaller then the max_allowed_packet variable.
    As you cannot make this value too high, you will end up with the following error message in some cases (If the size of metadata.xmi is big enough).

    In mu case metadata.xmi=3810136 while max_allowed_packet=1048576

    2008-02-07 10:53:15,578 INFO [STDOUT] 10:53:15,578 DEBUG [JDBCTransaction] commit
    2008-02-07 10:53:15,890 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: S1000
    2008-02-07 10:53:15,890 ERROR [JDBCExceptionReporter] Packet for query is too large (3810136 > 1048576). You can change this value on the server by setting the max_allowed_packet' variabl
    2008-02-07 10:53:15,890 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
    org.hibernate.exception.GenericJDBCException: could not update: [com.pentaho.repository.dbbased.solution.RepositoryFile#c6107913-ca68-11dc-98dc-5d7c50ee1b1e]
            at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
            at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
            at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
            at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
            at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
            at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
            at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
            at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
            at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
            at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
            at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
            at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
            at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
            at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
            at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
            at org.pentaho.repository.HibernateUtil.commitTransaction(Unknown Source)
            at com.pentaho.repository.dbbased.solution.SolutionRepository.addSolutionFile(Unknown Source)
            at org.pentaho.ui.servlet.RepositoryFilePublisher.doGet(Unknown Source)
            at org.pentaho.ui.servlet.RepositoryFilePublisher.doPost(Unknown Source)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    Show
    When you publish the metadata.xmi file to the server, it is sent in 1 chunk to the database. This works in MySQL as long as the wmi file is smaller then the max_allowed_packet variable. As you cannot make this value too high, you will end up with the following error message in some cases (If the size of metadata.xmi is big enough). In mu case metadata.xmi=3810136 while max_allowed_packet=1048576 2008-02-07 10:53:15,578 INFO [STDOUT] 10:53:15,578 DEBUG [JDBCTransaction] commit 2008-02-07 10:53:15,890 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: S1000 2008-02-07 10:53:15,890 ERROR [JDBCExceptionReporter] Packet for query is too large (3810136 > 1048576). You can change this value on the server by setting the max_allowed_packet' variabl 2008-02-07 10:53:15,890 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session org.hibernate.exception.GenericJDBCException: could not update: [com.pentaho.repository.dbbased.solution.RepositoryFile#c6107913-ca68-11dc-98dc-5d7c50ee1b1e]         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)         at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)         at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)         at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)         at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)         at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)         at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)         at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)         at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)         at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)         at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)         at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)         at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)         at org.pentaho.repository.HibernateUtil.commitTransaction(Unknown Source)         at com.pentaho.repository.dbbased.solution.SolutionRepository.addSolutionFile(Unknown Source)         at org.pentaho.ui.servlet.RepositoryFilePublisher.doGet(Unknown Source)         at org.pentaho.ui.servlet.RepositoryFilePublisher.doPost(Unknown Source)         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

Activity

Hide
Kurtis Cruzada added a comment - 06/Mar/08 3:11 PM
Show
Kurtis Cruzada added a comment - 06/Mar/08 3:11 PM see BISERVER-951
Kurtis Cruzada made changes - 06/Mar/08 3:11 PM
Field Original Value New Value
Resolution Fixed [ 1 ]
Assignee Triage [ project admin ] Kurtis Cruzada [ kcruzada ]
Status Open [ 1 ] Closed [ 6 ]
Gretchen Moran made changes - 11/Jul/08 6:00 AM
Workflow Pentaho Engineering 2.0 Workflow [ 64456 ] Pentaho Engineering 3.0 Workflow [ 166525 ]
Hide
Giorgio Dal Maso added a comment - 27/Apr/09 10:48 AM
one possible solution is use the command on mysql console:

mysql> set global max_allowed_packet = 15000000;

Here the results.... and more

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)

mysql> exit
Bye

c:\Programmi\MySQL\MySQL Server 5.1>mysql -u root -ppassword
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.34-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 14999552 |
+--------------------+----------+
1 row in set (0.00 sec)

mysql>

Show
Giorgio Dal Maso added a comment - 27/Apr/09 10:48 AM one possible solution is use the command on mysql console: mysql> set global max_allowed_packet = 15000000; Here the results.... and more Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+ 1 row in set (0.00 sec) mysql> exit Bye c:\Programmi\MySQL\MySQL Server 5.1>mysql -u root -ppassword Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.1.34-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 14999552 | +--------------------+----------+ 1 row in set (0.00 sec) mysql>
Gretchen Moran made changes - 04/Aug/09 6:32 PM
Workflow Pentaho Engineering 3.0 Workflow [ 166525 ] Pentaho Engineering 4.0 Workflow [ 369531 ]
Marc Batchelor made changes - 04/Aug/09 8:45 PM
Workflow Pentaho Engineering 4.0 Workflow [ 369531 ] Pentaho Engineering 5.0 Workflow [ 414589 ]
Marc Batchelor made changes - 17/Aug/09 10:19 AM
Workflow Pentaho Engineering 5.0 Workflow [ 414589 ] Pentaho Engineering 6.0 Workflow [ 429877 ]
Marc Batchelor made changes - 06/May/10 6:42 PM
Workflow Pentaho Engineering 6.0 Workflow [ 429877 ] Pentaho Engineering 7.0 Workflow [ 498373 ]
Marc Batchelor made changes - 04/Aug/10 10:06 PM
Workflow Pentaho Engineering 7.0 Workflow [ 498373 ] Pentaho Engineering 8.0 Workflow [ 518737 ]
Transition Status Change Time Execution Times Last Executer Last Execution Date
Open Open Closed Closed
28d 9h 57m
1
Kurtis Cruzada
06/Mar/08 3:11 PM

People

Dates

  • Created:
    07/Feb/08 5:13 AM
    Updated:
    27/Apr/09 10:48 AM
    Resolved:
    06/Mar/08 3:11 PM