hi alan, On 4/16/07, Alan R <[EMAIL PROTECTED]> wrote:
Hi. I'm using connection pooling and not using autoReconnect, but sometimes
please note that JNDIDatabasePersistenceManager does not actively make use of connection pooling as the warning in the javadoc indicates: http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.html
I get the same broken pipe problem. I'm using Jackrabbit 1.2.2 on linux with tomcat 5.5 and MySQL 5 (JDBC connector version 5.0.4). The problem is intermittent and unpredictable. I'm not quite sure how to reproduce it, but it's in the logs. In case there's a config problem, here's my config info (slightly sanitized for security): From repository.xml (and the same in workspace.xml): <PersistenceManager class="org.apache.jackrabbit.core.persistence.db.JNDIDatabasePersistenceManager"> <param name="dataSourceLocation" value="java:comp/env/jdbc/mmjcr"/> <param name="schemaObjectPrefix" value="${wsp.name}_"/> <param name="externalBLOBs" value="true"/> <param name="schema" value="mysql"/> </PersistenceManager> From context file for tomcat: <Resource name="jdbc/mmjcr" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="2" maxWait="5000" username="<DB_NAME>" password="<PASSWORD>" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://<DB_HOST>/<DB_NAME>"/> <Resource name="jcr/repository" auth="Container" type="javax.jcr.Repository" factory="org.apache.jackrabbit.core.jndi.BindableRepositoryFactory" configFilePath="<HOME_DIR>/repository.xml" repHomeDir="<HOME_DIR>" /> Any idea why this might be happening?
mysql does shutdown connections that have been idle for some period of time. 'broken pipe' errors in the log are therefore to be expected and per se nothing to be worried about since jackrabbit tries to silently reestablish a broken connection. apart from the log messages, are there any other related issues? cheers stefan
-Alan P.S.: FYI, here's the log info for the first problem encountered: 08:57:55,052 ERROR [DatabasePersistenceManager] failed closing Statement 08:57:55,053 ERROR [DatabasePersistenceManager] reason: Communications link failure\ due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Broken pipe STACKTRACE: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1554) at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.jav\ a:908) at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:47\ 6) at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.close(DelegatingStatement.ja\ va:165) at org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.closeSt\ atement(DatabasePersistenceManager.java:915) at org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.reestab\ lishConnection(DatabasePersistenceManager.java:781) at org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.execute\ Stmt(DatabasePersistenceManager.java:845) at org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.exists(\ DatabasePersistenceManager.java:673) at org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemSta\ te(SharedItemStateManager.java:1052) at org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedI\ temStateManager.java:287) at org.apache.jackrabbit.core.state.LocalItemStateManager.hasItemState(LocalIte\ mStateManager.java:180) at org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemState\ Manager.java:252) at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(Sessio\ nItemStateManager.java:176) at org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:4\ 65) at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:323) at org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2492) -- View this message in context: http://www.nabble.com/About-the-parameter-config-of-Mysql-autoReconnect-tf2649052.html#a10012897 Sent from the Jackrabbit - Users mailing list archive at Nabble.com.