Problemas con Google Bucket para copias de seguridad

En un sitio donde las copias de seguridad y las cargas a los buckets de Google funcionaban, la página de copias de seguridad ahora indica:

No se pudo acceder al almacenamiento de copias de seguridad: Un encabezado o consulta proporcionado solicitó una función que no está implementada.

Pensé que podría ser un problema de permisos del bucket (pero eso no tenía mucho sentido porque la misma configuración funcionaba hace un par de semanas), pero al releer ese mensaje, suena como si Discourse estuviera intentando hacer algo que, eh, no está implementado. (Lo cual también parece muy improbable).

Las cargas a S3 en un bucket de Google (aunque sea uno diferente) funcionan perfectamente. Hay un sitio de producción en 2.4.0.beta9 y un sitio de staging ejecutando 2.4.0.beta10 (y acabo de realizar otra actualización en el sitio de staging).

Es una instalación estándar de 2 contenedores con solo plugins estándar y la configuración de S3 definida con env: en el archivo .yml. EDICIÓN: Eliminé esas configuraciones ENV del archivo yml y reconstruí (destruir e iniciar no las eliminó) y el problema persiste.

No veo ningún commit obvio (para mí) que pueda estar relacionado.

EDICIÓN: Hay otra instancia de instalación estándar ejecutando 2.4.0.beta8 con la misma configuración y funciona, por lo que parece que algo ocurrió entre beta8 y beta9. Esto parece un :bug:. @gerhard, ¿podría estar relacionado de alguna manera con tus cambios en las copias de seguridad?

P.D. Verifiqué un sitio que usa DigitalOcean Spaces y las copias de seguridad funcionan correctamente.

2 Me gusta

¿Estás recibiendo el error apenas visitas /admin/backups? No he modificado nada en esa área recientemente, pero actualizamos el gem aws-s3 entre beta8 y beta10, pasando de la versión 1.36.1 a la 1.60.1. Es posible que esto ya no funcione con los buckets de Google. Quizás encuentres la causa en el CHANGELOG. Podrías probar con diferentes versiones del gem para acotar el problema.

3 Me gusta

Sí.

Maldita sea.

Qué asco. Avisaré a un ingeniero de Google, que probablemente no lo sepa, y veré qué más puedo encontrar.

Muchas gracias.

3 Me gusta

Así que, al entrar en el contenedor y editar Gemfile para cambiar

gem 'aws-sdk-s3', require: false

por la versión

gem 'aws-sdk-s3', '1.51.0', require: false

y luego ejecutar

bundle install --no-deployment
sv restart unicorn

para ver si funcionaba, una búsqueda binaria entre las versiones mostró que 1.51.0 es la última versión que funciona. Por lo tanto, el problema comenzó con algo en 1.52.0: “Feature - Adding support in SelectObjectContent for scanning a portion of an object specified by a scan range.”

No estoy seguro de qué hacer a continuación. Supongo que abriré un issue en GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby · GitHub, pero no creo que les importe, ¿verdad? Tal vez debería abrir un ticket con Google.

Y Discourse sigue funcionando para las subidas en los buckets de Google, pero no para las copias de seguridad.

5 Me gusta

Presumiblemente esto se ha resuelto, ya que Google parece ser compatible en

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.