ReadRecord.readChar giving IOException on clusterd MySQL installtion
--------------------------------------------------------------------
Key: JCR-914
URL: https://issues.apache.org/jira/browse/JCR-914
Project: Jackrabbit
Issue Type: Bug
Components: core
Affects Versions: 1.3
Environment: OSX 10.4.x, JDK 1.5, Tomcat 5.5.16 (not important
probably), SpringFramework (1.2.8, not important ?)
MySQL 5.0.18, MySQL JConnector 3.1.12
Reporter: Ian Boston
With a Journal setup like
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="revision" value="${rep.home}/revision.log" />
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url"
value="jdbc:mysql://127.0.0.1:3306/sakai22?useUnicode=true&characterEncodi
ng=UTF-8" />
<param name="user" value="sakai22"/>
<param name="password" value="sakai22"/>
</Journal>
2 Nodes in the cluster both on the same machine, (seperate JVM's)
All persistance managers using the same MySQL DB,
Then I connect a webDAV client to one node and upload about 300Mb of data,
which all works perfectly on the node I am connected to.
On the other node in the cluster I see a lot of the following tracebacks. The
Revisions are not in sequence indicateing that most are Ok, and the tracebacks
continue untill all activity (including indexing has finished)
ERROR: Unable to read revision '48'. (2007-05-13 09:27:24,209
ClusterNode-localhost1_org.apache.jackrabbit.core.cluster.ClusterNode)
org.apache.jackrabbit.core.journal.JournalException: I/O error while reading
character.
at
org.apache.jackrabbit.core.journal.ReadRecord.readChar(ReadRecord.java:121)
at
org.apache.jackrabbit.core.cluster.ClusterNode.consume(ClusterNode.java:875)
at
org.apache.jackrabbit.core.journal.AbstractJournal.doSync(AbstractJournal.java:191)
at
org.apache.jackrabbit.core.journal.AbstractJournal.sync(AbstractJournal.java:166)
at
org.apache.jackrabbit.core.cluster.ClusterNode.sync(ClusterNode.java:283)
at
org.apache.jackrabbit.core.cluster.ClusterNode.run(ClusterNode.java:254)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.io.EOFException
at java.io.DataInputStream.readChar(DataInputStream.java:333)
at
org.apache.jackrabbit.core.journal.ReadRecord.readChar(ReadRecord.java:118)
... 6 more
Looking at the Code in that area, the for loop exists on a null char '\0'. It
might be possible that the MySQL driver or table setup is truncating null chars
giving rise to the errors.
The idle node that is creating the errors otherwise looks perfect and the
content appears on the idle node within a second or so of being uploaded on the
active node.
(I am uploading using a webDav mount in OSX Finder)
I will try with the FileJournal just to check that its not a MySQL or JDBC
driver issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.