-
Notifications
You must be signed in to change notification settings - Fork 51
Handle errors gracefully in DAPR dashboard server 0.15.0 #279
Copy link
Copy link
Open
Labels
Description
DAPR dashboard server handles errors gracefully
With an invalid API call do the DAPR dashboard API, the API serving process logs an error messsage, returns a 4XX or 5XX error reflecting the cause of the failure, and keeps its ability to serve requests.
DAPR dashboard server crashes
With a fresh DAPR install on a kubernetes cluster, and no dapr applications deployed, an attempt to access the dapr-dashboard via kubectl port-forwarding was made. When connecting to the local port with a web browser, the dapr-dashboard process crashes. Full error message below
Dapr Dashboard running on http://localhost:8080
panic: runtime error: index out of range [0] with length 0
goroutine 45 [running]:
github.com/dapr/dashboard/pkg/instances.(*instances).GetControlPlaneStatus.func1({0x2006bda,0x15})
/home/runner/work/dashboard/dashboard/pkg/instances/instances.go:464+0x7a6
created by github.com/dapr/dashboard/pkg/instances.(*instances).GetControlPlaneStatus in goroutine 49
/home/runner/work/dashboard/dashboard/pkg/instances/instances.go:446 +0xbaSteps to Reproduce the Problem
initialize dapr on a kubernetes cluster, with dapr dashboard 0.15.0
user@host:~/some/path$ dapr init -kconnect to the dapr-dashboard via kubectl proxy
user@host:~/some/path$ kubectl port-forward 'dapr-dashboard-<ID>' 8888:8080 --namespace 'dapr-system'open a web browser and point it to http://localhost:8888
Release Note
RELEASE NOTE: FIX handle errors in control panel status when a dapr pod is not yet ready
Reactions are currently unavailable