So, I'll have a hard discussion with the client ;-) Thanks a lot. Nel
2009/5/4 Florent Guillaume <[email protected]> > Drawbacks of MySQL when used with Nuxeo: > - loses connections when it decides to, > - poor fulltext support, > - no transactional fulltext tables, > - inefficient ACL checking due to lack of array datatypes, > - no sub-second time datatypes, > - foreign key on delete cascade operations limited to 15 levels deep, > - triggers not activated by cascaded foreign key actions (which we don't > use at the moment with MySQL but could prove a big limitation in the > future), > - poor query optimizer, > - (not directly nuxeo related) stupid nonstandard syntax, stupid datatypes > conversions and lack of proper value checking. > > All in all, MySQL should be avoided if you want to keep your sanity, you > never know what's going to happen when you do a perfectly normal SQL > operations. Please use PostgreSQL instead. > > But this is still a configuration for which we provide support, given that > these intrinsic deficiencies are know. > > Florent > > > > On 4 May 2009, at 13:10, Nel Taurisson wrote: > > Hi, >> >> What are the drawbacks if using MySQL with VCS. We have a client that >> wants us to install nuxeo 5.2 on MySQL, is this "unsupported" or known to >> cause problems ? >> >> Thanks >> >> Nel >> >> 2009/5/4 Florent Guillaume <[email protected]> >> Basically MySQL is broken, it shouldn't ever close a connection that's >> open. >> Various people have tried various workarounds. But using autoReconnect is >> not always semantically safe (you lose non-committed stuff). >> Jackrabbit has implemented a workaround in 1.4 ( >> https://issues.apache.org/jira/browse/JCR-940), but Nuxeo 5.1.6 uses >> 1.3.3. >> See also http://wiki.magnolia-cms.com/display/WIKI/MySQL+Persistence for >> instance. >> >> Your options are: >> - upgrade the MySQL timeout to more that the default (8h), to avoid losing >> connections, >> - restart Nuxeo from time to time, before the MySQL timeout, >> - try to upgrade to Jackrabbit 1.4.* in Nuxeo 5.1.6, but there will >> probably be Nuxeo source code changes to do, >> - upgrade Nuxeo to 5.2.RC1, but there are quite a number of other changes >> in Nuxeo so it's not a light operation, >> - ditch MySQL and use a real database. >> >> Florent >> >> >> On 23 Apr 2009, at 11:39, Enrique Perez wrote: >> >> Thanks for your answer, Florent. >> >> I also tried with the configuration you say. I configure it with the >> following line: >> >> <param name="url" >> value="jdbc:mysql://localhost/mydatabase?autoReconnect=true"/> >> >> But it still fails. Is the previous line correct or I have to add >> something like the following one?: >> >> <param name="autoReconnect" value="true"/> >> >> Thanks in advance. >> >> Florent Guillaume wrote: >> Hi, >> >> The error (simplified below) is a Jackrabbit error. So the connection >> parameters to modify are those of the Jackrabbit configuration file. >> >> For a blank server the file is in config/repository-config.xml (or >> config/default-repository-config.xml depending on how you named it). Once >> the database is created it lives in >> server/default/data/NXRuntime/repos/default/default.xml. It's the >> <PersistenceManager> section. >> >> The <connection-url> you mention is for a JDBC datasource, but that's not >> what Jackrabbit uses for configuration. >> >> See http://www.google.com/search?q=jackrabbit+mysql+autoReconnect for >> more. >> >> Florent >> >> On 22 Apr 2009, at 09:18, Enrique Perez wrote: >> >> Hi all, >> >> I have a Nuxeo instance (5.1.6-2) using a MySql database. When I start the >> server it works fine, but if I try to upload a file after a couple of days >> it crashes. It seems like if the connection with the database is closed. >> >> I try with the autoReconnect property: >> >> >> >> <connection-url>jdbc:mysql://localhost/mydatabase?relaxAutoCommit=true&emulateLocators=true&autoReconnect=true</connection-url> >> >> But the platform still crashes. >> >> The exception I get when I upload a file is: >> >> >> org.nuxeo.ecm.core.api.ClientException >> >> org.nuxeo.ecm.core.api.WrappedException: Exception: >> org.nuxeo.ecm.core.api.ClientException. message: >> org.nuxeo.ecm.core.api.WrappedException: Exception: >> org.nuxeo.ecm.core.api.ClientException. message: Failed to save session >> >> org.nuxeo.ecm.core.api.WrappedException >> >> Exception: com.mysql.jdbc.CommunicationsException. message: The last >> packet successfully received from the server was88772 milliseconds ago.The >> last packet sent successfully to the server was 88772 milliseconds ago, >> which is longer than the server configured value of 'wait_timeout'. You >> should consider either expiring and/or testing connection validity before >> use in your application, increasing the server configured values for client >> timeouts, or using the Connector/J connection property 'autoReconnect=true' >> to avoid this problem. >> >> com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070) >> com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270) >> com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932) >> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) >> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) >> com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4916) >> >> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:484) >> >> org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688) >> >> org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855) >> >> org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) >> >> org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313) >> >> org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302) >> >> org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306) >> org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240) >> org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849) >> org.nuxeo.ecm.core.repository.jcr.JCRSession.save(JCRSession.java:146) >> org.nuxeo.ecm.core.api.AbstractSession.save(AbstractSession.java:1457) >> >> -- >> Florent Guillaume, Head of R&D, Nuxeo >> Open Source, Java EE based, Enterprise Content Management (ECM) >> http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87 >> >> _______________________________________________ >> ECM mailing list >> [email protected] >> http://lists.nuxeo.com/mailman/listinfo/ecm >> To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm >> >> > -- > Florent Guillaume, Head of R&D, Nuxeo > Open Source, Java EE based, Enterprise Content Management (ECM) > http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87 > >
_______________________________________________ ECM mailing list [email protected] http://lists.nuxeo.com/mailman/listinfo/ecm To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm
