Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-6700

Missing operationTime field on ping command when executed against Atlas

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.4.0.Alpha2
    • 2.4.0.Alpha1
    • mongodb-connector
    • None
    • Critical

      As a backup for situation where resume token is not available on empty change stream (such is the case for DocumentDB) we are executing a ping command in order to get an operation time to start streaming from.

      However there is a difference in command output for self managed and atlas instances

      self managed:

      rs0 [direct: primary] inventory> db.runCommand({ping: 1})
      {
        ok: 1,
        '$clusterTime': {
          clusterTime: Timestamp({ t: 1689951962, i: 1 }),
          signature: {
            hash: Binary(Buffer.from("9c5e50c7ccc0636b26eddf1b3e01ac3256de3123", "hex"), 0),
            keyId: Long("7258283812986028038")
          }
        },
        operationTime: Timestamp({ t: 1689951962, i: 1 })
      }
      

      atlas:

      { ok: 1 }
      

      A possible solution is switching to the hello command (we are fine with anything which doesn't generate an oplog entry)

              jcechace@redhat.com Jakub Čecháček
              jcechace@redhat.com Jakub Čecháček
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: