jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Boston (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-914) ReadRecord.readChar giving IOException on clusterd MySQL installtion
Date Sun, 13 May 2007 12:28:15 GMT
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&amp;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.


Mime
View raw message