diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-01-13 07:07:16 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-01-13 07:07:16 +0000 |
commit | f18e7f6920590ee6f2e59be508518b70a4611638 (patch) | |
tree | 2f80c427e740c2c6f7f2a47be2b869b6d9847e58 /cmd/rr | |
parent | 5dc83ef5eee77f4d1ef557e5f8b566e75892680d (diff) | |
parent | bbfcd4fb6eb138c616dab01ea610fbf6ed15985b (diff) |
Merge #472
472: feat(http): Distinct app and internal error codes in the handleError function r=48d90782 a=48d90782
This PR introduces distinct error codes for the app and internal RR errors.
Errors:
```go
roadrunner.ErrNoAssociatedPool
roadrunner.ErrAllocateWorker
roadrunner.ErrWorkerNotReady
roadrunner.ErrEmptyPayload
roadrunner.ErrPoolStopped
roadrunner.ErrWorkerAllocateTimeout
roadrunner.ErrAllWorkersAreDead
```
now associated with the internal error codes. All other errors are application errors.
Some types of errors are impossible to distinguish in the RR1, for example `json.Unmarshall` internal error or similar.
The `.rr.yaml` now contain two more options for the errors.
```yaml
http:
internalErrorCode: 502,
appErrorCode: 502
```
Default behavior unchanged (500 error code as before), but now might be overridden.
closes #471
Co-authored-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'cmd/rr')
-rw-r--r-- | cmd/rr/cmd/root.go | 9 | ||||
-rw-r--r-- | cmd/rr/cmd/serve.go | 3 | ||||
-rw-r--r-- | cmd/rr/http/debug.go | 9 | ||||
-rw-r--r-- | cmd/rr/http/metrics.go | 5 | ||||
-rw-r--r-- | cmd/rr/http/workers.go | 11 |
5 files changed, 21 insertions, 16 deletions
diff --git a/cmd/rr/cmd/root.go b/cmd/rr/cmd/root.go index e67a4e62..13d74d25 100644 --- a/cmd/rr/cmd/root.go +++ b/cmd/rr/cmd/root.go @@ -21,15 +21,16 @@ package cmd import ( + "log" + "net/http" + "net/http/pprof" + "os" + "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spiral/roadrunner/cmd/util" "github.com/spiral/roadrunner/service" "github.com/spiral/roadrunner/service/limit" - "log" - "net/http" - "net/http/pprof" - "os" ) // Services bus for all the commands. diff --git a/cmd/rr/cmd/serve.go b/cmd/rr/cmd/serve.go index cafbdd4f..70682780 100644 --- a/cmd/rr/cmd/serve.go +++ b/cmd/rr/cmd/serve.go @@ -21,11 +21,12 @@ package cmd import ( - "github.com/spf13/cobra" "os" "os/signal" "sync" "syscall" + + "github.com/spf13/cobra" ) func init() { diff --git a/cmd/rr/http/debug.go b/cmd/rr/http/debug.go index ae383e8d..02023e36 100644 --- a/cmd/rr/http/debug.go +++ b/cmd/rr/http/debug.go @@ -2,16 +2,17 @@ package http import ( "fmt" + "net" + "net/http" + "strings" + "time" + "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spiral/roadrunner" rr "github.com/spiral/roadrunner/cmd/rr/cmd" "github.com/spiral/roadrunner/cmd/util" rrhttp "github.com/spiral/roadrunner/service/http" - "net" - "net/http" - "strings" - "time" ) func init() { diff --git a/cmd/rr/http/metrics.go b/cmd/rr/http/metrics.go index 21bbbaf1..6aad560e 100644 --- a/cmd/rr/http/metrics.go +++ b/cmd/rr/http/metrics.go @@ -1,14 +1,15 @@ package http import ( + "strconv" + "time" + "github.com/prometheus/client_golang/prometheus" "github.com/spf13/cobra" rr "github.com/spiral/roadrunner/cmd/rr/cmd" rrhttp "github.com/spiral/roadrunner/service/http" "github.com/spiral/roadrunner/service/metrics" "github.com/spiral/roadrunner/util" - "strconv" - "time" ) func init() { diff --git a/cmd/rr/http/workers.go b/cmd/rr/http/workers.go index 4444b87f..be6d4038 100644 --- a/cmd/rr/http/workers.go +++ b/cmd/rr/http/workers.go @@ -21,16 +21,17 @@ package http import ( - tm "github.com/buger/goterm" - "github.com/spf13/cobra" - rr "github.com/spiral/roadrunner/cmd/rr/cmd" - "github.com/spiral/roadrunner/cmd/util" - "github.com/spiral/roadrunner/service/http" "net/rpc" "os" "os/signal" "syscall" "time" + + tm "github.com/buger/goterm" + "github.com/spf13/cobra" + rr "github.com/spiral/roadrunner/cmd/rr/cmd" + "github.com/spiral/roadrunner/cmd/util" + "github.com/spiral/roadrunner/service/http" ) var ( |