Hi. I'm using connection pooling and not using autoReconnect, but sometimes
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?
-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.