Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-89123

killCursor is allowed to operate on cursors from another transaction while on a separate transaction

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • ALL

      Suppose we have the following scenario:

      • Start a session A
      • A starts a transaction T1 and creates a client cursor called C
      • We start a session B
      • B starts a transaction T2 and sends a killCursor command for C

      Currently this is allowed to work and there's nothing preventing it succeeding. This means that from transaction T2 we can perform a non-transactionable operation on T1 as it will take effect immediately before T2 is committed.

      We should ideally ban this from the server as it is extremely counterintuitive and prone to errors.

            Assignee:
            Unassigned Unassigned
            Reporter:
            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: