Problemi con Google Bucket per il backup

Su un sito in cui i backup e gli upload su bucket Google funzionavano, la pagina dei backup ora visualizza:

Impossibile accedere all'archivio di backup: un'intestazione o un parametro di query fornito ha richiesto una funzione non implementata.

Pensavo potesse essere un problema di permessi del bucket (ma non aveva molto senso, dato che la stessa configurazione funzionava alcune settimane fa), ma rileggendo il messaggio, sembra che Discourse stia cercando di eseguire un’azione che, beh, non è implementata. (Il che sembra anch’esso improbabile).

Gli upload S3 su un bucket Google (sebbene diverso) funzionano perfettamente. Esiste un sito di produzione su 2.4.0.beta9 e un sito di staging su 2.4.0.beta10 (e ho appena eseguito un altro aggiornamento sul sito di staging).

Si tratta di un’installazione standard a due container con solo plugin standard e le impostazioni S3 configurate tramite env: nel file .yml. EDIT: Ho rimosso quelle impostazioni ENV dal file yml e ho ricreato l’ambiente (l’operazione destroy, start non le ha rimosse), ma il problema persiste.

Non vedo commit evidenti (almeno per me) che possano essere correlati.

EDIT: C’è un’altra istanza di installazione standard in esecuzione su 2.4.0.beta8 con le stesse impostazioni e funziona, quindi sembra che qualcosa sia cambiato tra beta8 e beta9. Questo sembra proprio un :bug:. @gerhard, potrebbe essere correlato in qualche modo alle tue modifiche ai backup?

P.S. Ho controllato un sito che utilizza DigitalOcean Spaces e i backup funzionano correttamente.

Stai riscontrando l’errore non appena visiti /admin/backups? Non ho apportato modifiche recenti in quell’area, ma abbiamo aggiornato il gem aws-s3 tra beta8 e beta10, passando dalla versione 1.36.1 alla 1.60.1. È possibile che questo non funzioni più con i bucket di Google. Forse puoi trovare la causa nel CHANGELOG. Potresti provare con diverse versioni del gem per restringere il campo.

Sì.

Maledizione.

Che schifo. Contatterò un ingegnere di Google che probabilmente non saprà nulla e vedrò cosa altro posso scoprire.

Grazie mille.

Quindi, entrando nel container e modificando Gemfile, cambiando

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

nella versione

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

e poi eseguendo

bundle install --no-deployment
sv restart unicorn

per verificare se ha funzionato, una ricerca binaria attraverso le versioni mostra che 1.51.0 è l’ultima versione funzionante; quindi, qualcosa in 1.52.0 “Feature - Adding support in SelectObjectContent for scanning a portion of an object specified by a scan range.” è dove è iniziato il problema.

Non sono sicuro di cosa fare dopo. Immagino che aprirò un issue su GitHub - aws/aws-sdk-ruby: The official AWS SDK for Ruby · GitHub, ma non sono sicuro che gli interessi, giusto? Quindi forse dovrei aprire un ticket con Google?

E Discourse funziona ancora per gli upload su Google Buckets, solo non per i backup.

Presumibilmente questo è stato risolto, poiché Google sembra essere supportato su