This exception indicates that a streaming insert has failed.  Because streams 
can't be rewound, the insert operation can't be retried automatically by XCC 
when a retryable exception occurs.  Unfortunately the underlying exception that 
causes the failure appears to be mishandled and consequently not displayed, but 
you may be able to find some indication in the server log.  I'm not sure if 
you're running into a bug in RecordLoader, XCC, or both, but I wouldn't expect 
to see this mode of failure for a properly implemented tool built on XCC.

I'm going to log a bug on the exception reporting issue, which if endemic to 
XCC generally should be fixed.


Sam Neth
Lead Engineer
MarkLogic Corporation





On Nov 17, 2010, at 9:25 AM, David Scott Gurney wrote:

In attempting to use the autoloader the following exception occurs:

com.marklogic.xcc.exceptions.ContentInsertException: Cannot auto-restart 
insert, non-rewindable content already processed: /content/drop/one_event/1.xml
 [Session: user=admin, cb={default} [ContentSource: user=admin, cb={none} 
[provider: address=vm/192.168.116.135:8438, pool=0/64]]]
 [Client: XCC/4.1-8]
at 
com.marklogic.xcc.impl.handlers.ContentInsertController.assertRestartable(ContentInsertController.java:287)
at 
com.marklogic.xcc.impl.handlers.ContentInsertController.serverDialog(ContentInsertController.java:84)
at 
com.marklogic.xcc.impl.handlers.AbstractRequestController.runRequest(AbstractRequestController.java:78)
at com.marklogic.xcc.impl.SessionImpl.insertContent(SessionImpl.java:198)
at com.marklogic.xcc.impl.SessionImpl.insertContent(SessionImpl.java:226)
at com.marklogic.recordloader.xcc.XccContent.insert(XccContent.java:48)
at com.marklogic.recordloader.AbstractLoader.insert(AbstractLoader.java:221)
at com.marklogic.recordloader.Loader.processStartElement(Loader.java:279)
at com.marklogic.recordloader.Loader.processRecords(Loader.java:145)
at com.marklogic.recordloader.Loader.process(Loader.java:91)
at com.marklogic.recordloader.AbstractLoader.call(AbstractLoader.java:68)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)


The error seems to indicate that there are duplicate records and that this one 
has already been processed.  However, the database is clear and there is only 1 
record, so I'm not understanding why it could have "already processed".  Can 
someone explain what this error means?


I'm using the latest jars from the autoloader url 
(http://developer.marklogic.com/code/AutoLoader)
I'm running MarkLogic 4.1-7.1 on Ubuntu 10.04

Here is the script file that is being used:
-------------------------------------------------------------------------------------------------------------------------------------
#!/bin/bash

java -cp 
lib/autoloader-1.0.1.jar:lib/xcc.jar:lib/xpp3-1.1.4.jar:lib/RecordLoaderMod.jar 
com/marklogic.autoloader.AutoLoader /Users/gurneyds/recordLoader/drop 
/Users/gurneyds/recordLoader/recordLoader-drop autoLoaderConfig.properties
-------------------------------------------------------------------------------------------------------------------------------------

And here is the contents of the record loader properties file:
-------------------------------------------------------------------------------------------------------------------------------------
THREADS=1
CONNECTION_STRING=xcc://admin:ad...@vm:8438/
INPUT_PATH=/Users/gurneyds/recordLoader/recordLoader-drop
ID_NAME=#AUTO
URI_PREFIX=/content/drop/
URI_SUFFIX=.xml
-------------------------------------------------------------------------------------------------------------------------------------

The xml file is dropped into the "drop" folder.  After a few moments the 
autoloader code is run and the exception is thrown.


Using record loader by itself works just fine.  Here is the script file to run 
just the record loader:
-------------------------------------------------------------------------------------------------------------------------------------
#!/bin/bash

java -cp lib/recordloader.jar:lib/xcc.jar:lib/xpp3-1.1.4.jar 
com.marklogic.ps.RecordLoader recordLoaderConfig.properties
-------------------------------------------------------------------------------------------------------------------------------------



And here is the contents of the record loader properties file:
-------------------------------------------------------------------------------------------------------------------------------------
THREADS=1
CONNECTION_STRING=xcc://admin:ad...@vm:8438/
INPUT_PATH=/Users/gurneyds/recordLoader/drop
ID_NAME=#AUTO
URI_PREFIX=/content/drop/
URI_SUFFIX=.xml
-------------------------------------------------------------------------------------------------------------------------------------


Any ideas?

Thanks
David


NOTICE: This email message is for the sole use of the intended recipient(s) and 
may contain confidential and privileged information. Any unauthorized review, 
use, disclosure or distribution is prohibited. If you are not the intended 
recipient, please contact the sender by reply email and destroy all copies of 
the original message.

_______________________________________________
General mailing list
General@developer.marklogic.com<mailto:General@developer.marklogic.com>
http://developer.marklogic.com/mailman/listinfo/general

_______________________________________________
General mailing list
General@developer.marklogic.com
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to