I've found a bug in the ring.Lifecycler which happens in the following scenario:
- Ingester is already registered in the ring with 64 tokens and
LEAVING state
- Ingester is configured to store/load tokens from disk
- Ingester starts up with a tokens config change (from 64 to 128)
What we get is that ingester will never increase tokens to 128 and will never switch to ACTIVE in the ring.
The issue should be easy to reproduce with a unit test.