You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2009/05/14 22:57:45 UTC
[jira] Commented: (JCRRMI-23) SocketException / MarshalException
with importXML on large file
[ https://issues.apache.org/jira/browse/JCRRMI-23?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709586#action_12709586 ]
Jukka Zitting commented on JCRRMI-23:
-------------------------------------
The JCR-RMI layer will transmit the entire XML import as a single byte array. I don't think the RMI protocol handles that very well.
We could consider streaming large XML documents like we do binary values, but I'm not sure if the use case is strong enough for the effort. Do you need to do large imports over RMI, or could you handle them locally on the Jackrabbit server?
> SocketException / MarshalException with importXML on large file
> ---------------------------------------------------------------
>
> Key: JCRRMI-23
> URL: https://issues.apache.org/jira/browse/JCRRMI-23
> Project: Jackrabbit JCR-RMI
> Issue Type: Bug
> Environment: Windows XP, Java 1.5, JackRabbit Standalone 1.5.5, Eclipse 3.2.1
> Reporter: Sven M. Resch
>
> I am just starting to learn JackRabbit so forgive my ignorance. How does the JCR-API jar in JackRabbit 1.5.5 related to the 1.6.0 and 2.0.0 versions listed in this Issues portal BTW?
> I have started JackRabbit Standalone 1.5.5 from a command line as follows:
> >java -jar jackrabbit-standalone-1.5.5.jar -p 8282 -f D:/programs/jackrabbit_1.5.5/jackrabbit-standalone-1.5.5.jar
> And from Eclipse I have setup basically the same as described in "First Hops" #3 to import an XML file. To connect to the repository however I do this as I am not running a rmiregistry:
> Repository repository = new URLRemoteRepository("http://localhost:8282/rmi");
> Note that First Hops #1 & 2 run fine as do #3 with a small (6 MB) XML file as long as from Eclipse I run the applications with an additional JVM Argument of:
> -Xmx512m
> When I try to run First Hop #3 with a pretty big XML file that is approximately 88 MB in size I get the following dump on the client (no errors in any server logs that I could see). Any ideas?
> Importing xml...
> Exception: error marshalling arguments; nested exception is:
> java.net.SocketException: Software caused connection abort: socket write error
> org.apache.jackrabbit.rmi.client.RemoteRepositoryException: error marshalling arguments; nested exception is:
> java.net.SocketException: Software caused connection abort: socket write error: error marshalling arguments; nested exception is:
> java.net.SocketException: Software caused connection abort: socket write error
> at org.apache.jackrabbit.rmi.client.ClientSession.importXML(ClientSession.java:262)
> at com.cadence.jr.ImportTest.main(ImportTest.java:95)
> Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is:
> java.net.SocketException: Software caused connection abort: socket write error
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> at org.apache.jackrabbit.rmi.server.ServerXASession_Stub.importXML(Unknown Source)
> at org.apache.jackrabbit.rmi.client.ClientSession.importXML(ClientSession.java:260)
> ... 1 more
> Caused by: java.net.SocketException: Software caused connection abort: socket write error
> 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.write(BufferedOutputStream.java:109)
> at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1685)
> at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(ObjectOutputStream.java:1723)
> at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1397)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:305)
> at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:117)
> ... 3 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.