[JAVA-340] Getting MongoInternalException "can't do getmore" while working on data > 10,000. Dont get the exception when working with lesser amounts of data Created: 29/Apr/11 Updated: 11/Sep/19 Resolved: 14/Jun/11 |
|
| Status: | Closed |
| Project: | Java Driver |
| Component/s: | API |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Nivi Kumar | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | cursor | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Description |
|
DBCursor usersiteResult = try while ( usersiteResult.hasNext() ) { //Do operation }catch(MongoInternalException e){ |
| Comments |
| Comment by Antoine Girbal [ 13/May/11 ] |
|
Hi Nivi, |
| Comment by Antoine Girbal [ 09/May/11 ] |
|
Nivi, |
| Comment by Eliot Horowitz (Inactive) [ 08/May/11 ] |
|
The most likely cause is a timed out cursor. |
| Comment by Nivi Kumar [ 06/May/11 ] |
|
Sorry about responding late. Since we are in run the business mode with this application, it takes a while to debug and respond. I am not sure how many records it iterates through before throwing a response. However if I try to get through 10,000 records, it completes around 4000. |
| Comment by Antoine Girbal [ 03/May/11 ] |
|
questions:
One possible issue is that mongod needs to "scan and order" which has limitations in terms of how many records may be returned. |
| Comment by Nivi Kumar [ 02/May/11 ] |
|
I tried with the 2.5.3 driver and I get this exception now cursor not found on server More info on what the application is trying to do. |
| Comment by Nivi Kumar [ 02/May/11 ] |
|
Thanks Antoine. I currently don't have stack trace enabled in prod. This is the message in As for the driver , we are using mongo-2.0.jar. I will test with the latest Cheers |
| Comment by Antoine Girbal [ 02/May/11 ] |
|
Hi Nivi,
|
| Comment by Nivi Kumar [ 02/May/11 ] |
|
Any suggestions to overcome this issue? |
| Comment by Nivi Kumar [ 30/Apr/11 ] |
|
usersitecondition obj is the query object user to query the user site collection. DBObject userSiteRecordsCondition = userSiteConditionObj.put( MongoDBCollectionFieldKeys.KEY_COUNTER_ID, The query is to get all records in the user site collection based on the minimum and maximum counter id that the user specifies. If min is 10 and max is 100, the query would get all the 90 records and iterate over it. For 10000 or less records it seems to be fine . However when it is more than that it throws the "cant get more exception" |
| Comment by Eliot Horowitz (Inactive) [ 30/Apr/11 ] |
|
What are the contents of userSiteConditionObj |