On 17. Dec 2018, at 01:04, Sebastian Sastre <sebastianconcept@gmail.com> wrote:
Hi All, Holger...
The Mongo protocol allows multiple requests to be in transient and is using a client assigned id to indicate which request was responded to. MongoTalk is only fit to send/handle one request at a time per socket. Without more context it is difficult to say which failure mode you have but I can see these possible ones: 1.) Due to concurrency you are using the same connection but make more than one request. 2.) Our request id goes wrong (not sure how would this happen) 3.) Mongod sent a unsolicited response 4.) Many other things I can't think of right now. Is 1st) possible in your code? Do you have a packet trace to see which _responds_ you received and which request was answered? holger
Iâve seen this today: http://forum.world.st/MongoCursor-gt-gt-execute-and-MongoTalk-changes-td4889...
After talking with some people in the Pharo chat group at Discord about this erratic error Iâm having with MongoTalkâs MongoCursor .
<app_image.png>
Once it happens, the stream stays open and Mongo says isValid true but no other operations can be executed.
Iâve loaded MongoTalk with:
Metacello new githubUser: 'pharo-nosql' project: 'voyage' commitish:'1.?' path: 'mc'; baseline: 'Voyage'; load: 'mongoâ.
in a Pharo 6.1 image.
Did this Unexpected responseTo happened again to you?
nextRequestID has the code you mention in the issue:
nextRequestID ^requestID := requestID + 1 bitAnd: 16r3FFFFFFF
Do you have any further hint on why the issue? Thanks!
Sebastian