buildSamplingRotation() (internal/storage/v2/elasticsearch/factory_base.go) passes nil for remote clusters instead of the configured remote_read_clusters value, unlike buildDependencyRotation() and the span/service rotations, which already thread that config through.
So a cluster configured with remote_read_clusters gets cross-cluster reads for dependency, span, and service indices, but not for the sampling index. Same config, inconsistent behavior depending on which index type is being read.
Fix is small: pass the same config value through buildSamplingRotation() that the other rotations already use.
buildSamplingRotation() (internal/storage/v2/elasticsearch/factory_base.go) passes nil for remote clusters instead of the configured remote_read_clusters value, unlike buildDependencyRotation() and the span/service rotations, which already thread that config through.
So a cluster configured with remote_read_clusters gets cross-cluster reads for dependency, span, and service indices, but not for the sampling index. Same config, inconsistent behavior depending on which index type is being read.
Fix is small: pass the same config value through buildSamplingRotation() that the other rotations already use.