gRPC status 12: UNIMPLEMENTED
UNIMPLEMENTED is gRPC status code 12. The server does not implement this method, or does not know the service at all.
Updated
Usual causes
- A typo in the package, service or method name. The full name is
package.Service/Methodand is case-sensitive. - The server runs an older build that does not have the method yet.
- The call reached a different server than expected, through the wrong port or a proxy route.
- Server reflection was called on a server with reflection switched off.
- The client sent a compression the server does not support.
What to check
- The full method name against the
.proto: the package, the service and the method. - Which service the server actually registers;
grpcurl <host> listasks reflection for them. - The server's version, and that the port belongs to the server you meant.
Not to be confused with
An existing method that has no data for your request returns NOT_FOUND.
What it looks like
A typical error, as a Go client prints it: rpc error: code = Unimplemented desc = unknown service helloworld.Greeter
Retry, and the HTTP equivalent
| UNIMPLEMENTED | |
|---|---|
| Code | 12 |
| Name | UNIMPLEMENTED |
| In istek's status bar | unimplemented |
| Retry | No; the method will not appear by itself. |
| HTTP status | 501 |
istek names the status of every call it makes, unimplemented included, and explains transport failures in plain words. See istek.