openconfig/reference

Documentation Error in GNMI SetRequest Error Handling Description

Opened this issue · 0 comments

There is a discrepancy in the GNMI documentation regarding the error handling of SetRequest messages as described in Section 3.4.3. The documentation states that in the case of any operation within the SetRequest message failing, the status code of the SetResponse should be set to Aborted (10) with an appropriate error message. Additionally, it requires setting the message field of the UpdateResult corresponding to the failed operation to an error message, and for other operations, setting the code field to Aborted (10).

In practice, for Go/Python clients using the proto, setting the status code to anything other than OK implies that the SetResponse is not received by the client. This contradicts the suggestion of sending a SetResponse message with status code Aborted (10) and corresponding error details, as the client won't be able to retrieve or view these messages.

Additionally, the requirement specifies modifying the deprecated error message field inside the SetResponse proto, which may not be effective or recommended in modern implementations.

  1. Am I missing something, or did I misunderstand the specification concerning how clients are expected to handle SetResponse messages with non-OK status codes?
  2. Is there a specific way that the SetResponse should be sent to ensure clients can receive and process the error details effectively, despite the non-OK status code?