> On 17. Dec 2018, at 01:04, Sebastian Sastre <
[hidden email]> 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-td4889293.html>
>
> 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