Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-47366

Public interface documentation on parsing 12009 DML error

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 7.0.0
    • 7.1.0
    • query
    • 1

    Description

      Currently, DML error 12009 has some additional resolution in the details that developers would like to understand. For example, was it CAS mismatch, TMPFAIL, etc.

      Could we please have a stable, documented method of getting this additional information out of the message returned behind 12009 DML error. Specifically, what is the format of the return in a regular way for parsing, what is the set of errors that may be returned, etc.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            I think for now, no. I'll work with the team to get this planned into our iterations.

            daschl Michael Nitschinger added a comment - I think for now, no. I'll work with the team to get this planned into our iterations.

            Thank you Michael Nitschinger for confirming.  I'll mark this as resolved for now; please reopen if need be.

            Donald.haggart Donald Haggart added a comment - Thank you Michael Nitschinger for confirming.  I'll mark this as resolved for now; please reopen if need be.
            ray.cardillo Ray Cardillo added a comment -

            While reviewing code in preparation for a discussion about the new error details, I noticed a typo, and already conveyed this to Donald Haggart over Slack.

            See typo for icause but on line 200 it's misspelled as icasue:
            https://review.couchbase.org/plugins/gitiles/query/+/refs/heads/master/errors/errors.go#200

            ray.cardillo Ray Cardillo added a comment - While reviewing code in preparation for a discussion about the new error details, I noticed a typo, and already conveyed this to Donald Haggart over Slack. See typo for  icause but on line 200 it's misspelled as icasue : https://review.couchbase.org/plugins/gitiles/query/+/refs/heads/master/errors/errors.go#200

            Build couchbase-server-7.1.0-1818 contains query commit 173ddfd with commit message:
            MB-47366 Correct typo.

            build-team Couchbase Build Team added a comment - Build couchbase-server-7.1.0-1818 contains query commit 173ddfd with commit message: MB-47366 Correct typo.
            Donald.haggart Donald Haggart added a comment - - edited

            Description for release notes:
            Summary: Additional "reason" field reported in errors to provide more detail on the cause of an error, along with further identification of errors for which the "retry" field may be reported.

            Example:

            (before)

             

            ...
                    {
                        "code": 12009,
                        "msg": "DML Error, possible causes include concurrent modification. Failed to perform INSERT on key f05 - cause: Duplicate Key: f05",
                    }
            ...
            

             

            (after)

             

            ...
                    {
                        "code": 12009,
                        "msg": "DML Error, possible causes include concurrent modification. Failed to perform INSERT on key f05 - cause: Duplicate Key: f05",
                        "reason": {
                            "caller": "couchbase:1985",
                            "code": 17012,
                            "key": "dml.statement.duplicatekey",
                            "message": "Duplicate Key: f05"
                        },
                        "retry": false
                    }
            ...
            

             

            Donald.haggart Donald Haggart added a comment - - edited Description for release notes: Summary: Additional "reason" field reported in errors to provide more detail on the cause of an error, along with further identification of errors for which the "retry" field may be reported. Example: (before)   ...         {             "code" : 12009 ,             "msg" : "DML Error, possible causes include concurrent modification. Failed to perform INSERT on key f05 - cause: Duplicate Key: f05" ,         } ...   (after)   ...         {             "code" : 12009 ,             "msg" : "DML Error, possible causes include concurrent modification. Failed to perform INSERT on key f05 - cause: Duplicate Key: f05" ,             "reason" : {                 "caller" : "couchbase:1985" ,                 "code" : 17012 ,                 "key" : "dml.statement.duplicatekey" ,                 "message" : "Duplicate Key: f05"             },             "retry" : false         } ...  

            People

              daschl Michael Nitschinger
              ingenthr Matt Ingenthron
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty