Open
Description
The change in memory state is made before updating Consul, and no attempt is made to revert the former if the latter fails:
Lines 710 to 711 in a87c25f
I noticed this because I got this log message:
level=warn ts=2020-09-09T19:59:32.324235593Z caller=grpc_logging.go:55 duration=15.010918473s method=/cortex.Ingester/TransferChunks err="Transfer: ChangeState: failed to CAS collectors/ring" msg="gRPC\n"
That's coming from here:
cortex/pkg/ingester/transfer.go
Line 204 in f27cef8
The defer
in that function should then log "TransferChunks failed" and go back to PENDING state, but I don't see that log, which is explained by this line checking the in-memory state:
cortex/pkg/ingester/transfer.go
Line 185 in f27cef8
(Also odd: metrics show it did go to ACTIVE state)