From 3547e72df20c010a10f5c7630a84b00994982ee6 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 20 Mar 2019 16:28:55 +0100 Subject: [PATCH] Improve information if IsStateDirty() fails Before: panic: unexpected field type in StoreSnapshot After: panic: unexpected field type in StoreSnapshot: XXX_NoUnkeyedLiteral struct Signed-off-by: Sebastiaan van Stijn --- manager/dirty.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manager/dirty.go b/manager/dirty.go index c989ec2c86..2f3460436f 100644 --- a/manager/dirty.go +++ b/manager/dirty.go @@ -1,6 +1,7 @@ package manager import ( + "fmt" "reflect" "github.com/docker/swarmkit/api" @@ -45,7 +46,7 @@ func (m *Manager) IsStateDirty() (bool, error) { field := val.Field(i) structField := val.Type().Field(i) if structField.Type.Kind() != reflect.Slice { - panic("unexpected field type in StoreSnapshot") + panic(fmt.Sprintf("unexpected field type in StoreSnapshot: %s (type %v)", structField.Name, structField.Type.Kind())) } if structField.Name != "Nodes" && structField.Name != "Clusters" && structField.Name != "Networks" && field.Len() != 0 { // One of the other data types has an entry