+ Start a Discussion
RadDude89RadDude89 

Cannot parse empty string

Hi,

We updated our data loader from version 20 to 34 yesterday and since we made the change a few of our batch jobs have stopped working - most of them are fine but 2 of the batch jobs (via windows batch file/command line) are receiving the error below.

FATAL [main] process.ProcessRunner topLevelError (ProcessRunner.java:238) - Unable to run process extractBillingAgentGas
java.lang.RuntimeException: java.lang.IllegalArgumentException: Cannot parse empty string
 at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:162)
 at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:100)
 at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:253)
Caused by: java.lang.IllegalArgumentException: Cannot parse empty string
 at com.salesforce.dataloader.mapping.SOQLInfo.getTrimmed(SOQLInfo.java:162)
 at com.salesforce.dataloader.mapping.SOQLInfo.access$000(SOQLInfo.java:38)
 at com.salesforce.dataloader.mapping.SOQLInfo$SOQLFieldInfo.<init>(SOQLInfo.java:52)
 at com.salesforce.dataloader.mapping.SOQLInfo$SOQLFieldInfo.<init>(SOQLInfo.java:72)
 at com.salesforce.dataloader.mapping.SOQLMapper.putPropertyEntry(SOQLMapper.java:99)
 at com.salesforce.dataloader.mapping.Mapper.putPropertyFileMappings(Mapper.java:139)
 at com.salesforce.dataloader.mapping.Mapper.putPropertyFileMappings(Mapper.java:134)
 at com.salesforce.dataloader.mapping.Mapper.<init>(Mapper.java:86)
 at com.salesforce.dataloader.mapping.SOQLMapper.<init>(SOQLMapper.java:58)
 at com.salesforce.dataloader.controller.Controller.createMapper(Controller.java:194)
 at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:146)

I don't know how to fix this and I can't seem to find much information on the error message - has anyone come across this issue before?
Can anyone know how to fix this error message?

Any help is much appreciated.

Daniel BallingerDaniel Ballinger
You can see the source code for DataLoader on GitHub. In this case the IllegalArgumentException is being thrown by the getTrimmed() method (https://github.com/forcedotcom/dataloader/blob/master/src/main/java/com/salesforce/dataloader/mapping/SOQLInfo.java#L159).

The general indication from the error message is a problem with the SOQL query that is being run. In particular, there is a problem SOQL field.

Looking back through the stack trace it appears to be using a SOQLMapper to build up a SOQL query. I'd recheck your mapping.