Tailable cursor detects inserts from local machine but not from remote machine

Hi,

I am working with a tailable cursor to read live changes from a MongoDB capped collection.

The behavior I am seeing:

  • Inserts made from the same machine where the tailable cursor code is running → detected successfully.
  • Inserts made from a different remote machinenot detected by the tailable cursor (no events fired, no new documents seen).

Setup details:

  • MongoDB version: 7 (Community)
  • Deployment type: Standalone / Replica Set (tested with both)
  • OS: Windows10
  • Language / Driver version: C#, MongoDB Driver

Code snippet (simplified):

var options = new FindOptions<MyDoc>
{
    CursorType = CursorType.TailableAwait
};

using (var cursor = collection.FindSync(filter, options))
{
    while (cursor.MoveNext())
    {
        foreach (var doc in cursor.Current)
        {
            Console.WriteLine(doc);
        }
    }
}

What I have checked so far:

  • The collection is capped.
  • Both local and remote machines can insert into the same collection (confirmed via mongosh query). Using Compass also
  • Network access between machines is working fine.
  • No errors or exceptions in the tailable cursor loop.

Questions:

  1. Why would a tailable cursor detect inserts from the local machine but miss inserts from a remote machine?
  2. Is there any difference in how MongoDB treats inserts from different clients for capped collections?
  3. Could this be related to write concern, replication, or caching behavior?

Any pointers or troubleshooting steps would be appreciated.

Thanks!

This doesn’t seem like expected behaviour, I ran a test with a couple of mongosh and a python client and could not reproduce what you explain.

Could you provide all the steps to replicate this?

Another option is to create bug report at jira.mongodb.com and provde all the information there.

Thanks for your response. Let me try to clarify the scenario I’m observing:

I have two machines on the same network, say 10.20.30.40 and 10.20.30.41.

  • MongoDB (v7, Community) is running on .40.
  • My C# backend with the tailable cursor code is also running on .40.
  • When I insert documents into the capped collection from .40 itself, the tailable cursor detects them as expected.
  • However, when I insert documents from .41 into the same MongoDB instance running on .40, those inserts are not picked up by the tailable cursor (even though I can confirm via mongosh or Compass that the documents do exist in the collection).

So effectively, the tailable cursor loop only reacts to inserts that originate locally from the same machine where it’s running, but not when the inserts come from a remote machine over the network.

Would this still be considered unexpected behavior? If so, I can prepare a minimal reproducible setup and share the exact steps, or alternatively raise a bug report on jira.mongodb.com with the details.