function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

Strange error on query

I'm trying to download OpportunityLineItem's via the API but all I'm getting for the past 2 days has been "Read timed out" errors. I've tried only downloading 1 column, all columns, setting batch size to 1 or 2000, and even datajunction is unsuccessful. I am able to download other entities (Account,User, etc) fine, and a describe on OpportunityLineItems works as well. Why would I be getting "Read timed out" just when trying to query OpportunityLineItem?


I dumped my OpportunityLineItems from both an Enterprise account and a Dev account.  Did you try the SforceExplorer tool and see if you can get the field that way?



I've now tried 3 client side tools to get these opportunitylineitems to download, but none of them worked. It seems to be a server side issue, but how can I be sure?


Using my development account I am able to download all opportunitylineitems (i only have a few). In production I am able to download opportunitylineitems when I set a filter to only get a couple. My problem is I need to get all of them (there are about 470,000). My thought is the cursor being generated on the server is taking longer to generate then my client application is willing to wait. Is there anyway to increase the amount of time the query method waits before it times out?

Message Edited by WhiZa on 05-26-2004 09:13 AM


Hi Whiza,

How often to you wish to download half a million opportunity line items?  Is this a one time thing, or are you going to do this on a regular basis?

As to getting around this timing out issue, you can break these up into smaller groups and do a group at a time using createdDate.  My idea is to do a group for each week or some other discrete time period.  That way you won't have to worry about a super long running server process.


I pulled down 150,000 leads yesterday and it worked without a problem.  Maybe you should break it into 12 segments (by month of create date) and pull them down that way. 

Also,  it could be a memory issue.  If your storing 500K items and there is a lot of text it could be eating up a lot of RAM.



I download these weekly.

I'm having an issue grouping the downloads, because I do not have a unique natural key on some of my opportunities and I am forced to delete them, then re-add. Meaning the Created Date changes, and my orginal date grouping is invalid.

Is there any plan to allow users to set the timeout duration?

Read timeout's are typically a client side managed thing. Check the docs for whichever SOAP stack you are using.

Ah ok, now that you mention it the SoapBindingStub has a setTimeout function, and I was able to extend timeout duration.
I have posted infomration on this thread: on how to set client timeouts.