internal network error is not exposed
- Dominant language
- Java
- Stars
- 276
- Forks
- 223
- PR merge metrics
- No merged PRs in 30d
Description
I met an error "input stream can not be null" when running dataloader with Bulk API.
It finally turned out that it was caused by the following exception due to proxy authentication error.
```
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required"
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.sforce.async.BulkConnection.doHttpGet(BulkConnection.java:466)
at com.sforce.async.BulkConnection.getJobStatus(BulkConnection.java:530)
at com.salesforce.dataloader.action.visitor.BulkApiVisitorUtil.periodicCheckStatus(BulkApiVisitorUtil.java:148)
at com.salesforce.dataloader.action.visitor.BulkLoadVisitor.doOneBatch(BulkLoadVisitor.java:190)
at com.salesforce.dataloader.action.visitor.BulkLoadVisitor.createBatches(BulkLoadVisitor.java:167)
at com.salesforce.dataloader.action.visitor.BulkLoadVisitor.loadBatch(BulkLoadVisitor.java:134)
at com.salesforce.dataloader.action.visitor.DAOLoadVisitor.flushRemaining(DAOLoadVisitor.java:125)
at com.salesforce.dataloader.action.visitor.BulkLoadVisitor.flushRemaining(BulkLoadVisitor.java:281)
at com.salesforce.dataloader.action.AbstractLoadAction.flush(AbstractLoadAction.java:92)
at com.salesforce.dataloader.action.AbstractAction.execute(AbstractAction.java:131)
at com.salesforce.dataloader.controller.Controller.executeAction(Controller.java:121)
at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:149)
at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:100)
at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:253)
```
Here is the place where the exception occured.
https://github.com/forcedotcom/wsc/blob/29.0.0/src/main/java/com/sforce/async/BulkConnection.java#L466
It was very difficult to know the root cause because the exception is hidden.
It would be better if wsc exposes it in any way.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at src/main/java/com/sforce/async/BulkConnection.java:466, then trace how doHttpGet and getJobStatus handle the IOException shown in the report. The work is done when the underlying proxy authentication or other internal network error is exposed instead of surfacing only the misleading null-input error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100