> On 17. Dec 2018, at 01:04, Sebastian Sastre <sebastianconc...@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-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


Reply via email to