Here is the background:
Our loki stack (ssd mode, version 3.4.2, k8s deployment) is writing log files to bucket A for the past months but owning to the config change, we have to switch to a new bucket, say bucket B. The data sync between 2 buckets has been done successfully via aws s3 sync
and the old log files can be queried successfully after this switch.
Today from the dashboard we found loki backend started posting errors like below:
level=error ts=2025-04-22T09:31:16.492835891Z caller=cached_client.go:189 msg=“failed to build table names cache” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:31:17.503242217Z caller=cached_client.go:189 msg=“failed to build table names cache” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:31:17.607369372Z caller=ruler.go:576 msg=“unable to list rules” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:32:17.608831269Z caller=ruler.go:576 msg=“unable to list rules” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:33:17.607800328Z caller=ruler.go:576 msg=“unable to list rules” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:34:17.607628064Z caller=ruler.go:576 msg=“unable to list rules” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:35:17.60755593Z caller=ruler.go:576 msg=“unable to list rules” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
level=error ts=2025-04-22T09:36:16.491280885Z caller=delete_requests_table.go:92 msg=“failed to upload delete requests file” err=“NoCredentialProviders: no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors”
I can confirm the credential is correct and successfully mounted to Loki.
One thing I have to mention is that we turned on retention_enabled
in compactor
section and most of the tenant logs are set 30d retention policy. Will the bucket migration affect the consistency of the retention setting such as the index or some other tiny but critical part?
Though the issue has been fixed by reinstallation, I am still concerning about whether it will re-occur in the future.
Any thought would be helpful.