jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sven M. Resch (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCRRMI-23) SocketException / MarshalException with importXML on large file
Date Thu, 14 May 2009 21:39:45 GMT

    [ https://issues.apache.org/jira/browse/JCRRMI-23?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12709602#action_12709602
] 

Sven M. Resch commented on JCRRMI-23:
-------------------------------------

Hi Jukka,

Yes I think the use case and importXML call can be done on the server. I am currently setting
things up to try this out.

I have, up to now, seen some success with chunking the 88 MB XML down in size with the largest
chuck being about 21 MB. The importXML call completes quickly but a subsequent session.save()
takes quite some time. More concerning though is the amount of JVM heap that is allocated
upon import/save.

My development machine has a modest 2.4 GHz Core 2 Duo CPU with 2GB of RAM and I can start
the server with a max of -Xms1024m to set the max heap size. The larger 21MB file I think
fits just under the availble heap size limit. Any larger of an XML generally results in a
"java.lang.outofmemory exception jvm heap size insufficient" error.

Even with moving the import to the server... my guess is that the 88 MB file import will still
run into a Out Of Memory error but I won't know for another day or so when I have tried it
out.

> 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.


Mime
View raw message