Marco Pracucci
Marco Pracucci
Closed by #3849.
> How would it fix this issue? If we implement it in the same exact way of how it's done for the ingesters ring, it would register the UI API...
> In my proposed solution, there is 1:1 mapping between the endpoint and component. That's true. The drawback, as you mentioned, is that we would introduce a breaking change and,...
From the logs, the panic looks happening here: ``` [signal SIGSEGV: segmentation violation code=0x1 addr=0x7fcdfdb9ec0a pc=0x4024b5] goroutine 38915 [running]: runtime.throw({0x1e04d0c, 0x4c}) /usr/local/go/src/runtime/panic.go:1198 +0x71 fp=0xc011ff4f80 sp=0xc011ff4f50 pc=0x437131 runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:742 +0x2f6 fp=0xc011ff4fd0...
> Mimir version: 2.2.0 Could you upgrade to 2.4.0 and let us know if the happens there too?
> > Mimir version: 2.2.0 > > Could you upgrade to 2.4.0 and let us know if the happens there too? According to https://github.com/grafana/mimir/issues/3759, it's happening in Mimir 2.5.0 too....
I have a theory (just a theory so far). The label values returned by `BinaryReader.LabelValues()` are yolo strings, which means they directly reference the underlying mmap area and they're not...
I was thinking to change this: https://github.com/grafana/mimir/blob/f85191002cede7fa5c0da91fb447b676465bbee5/pkg/storegateway/bucket.go#L1423-L1431 With something like this, but it's still not safe (see the TODO comment): ```golang indexr := b.indexReader() // Close the index reader only...
An alternative is copy the label strings instead of using a `yoloString()` here. We should run a benchmark to see the impact on performance, could it would have an impact...
_This issue shouldn't occur in the new experimental implementation of the index-header reader based on file reading syscalls instead of mmap._