Follow

少し前からSidekiqの再試行ジョブに「Aws::S3::Errors::InvalidArgument: Invalid argument.」というエラーが多発していたのですが、こちらの解消をしました。これはGoogle Cloud Storage (GCS) のS3互換APIがマルチパートアップロードに対応していないために発生していました。

Mastodonがメディアファイルのアップロードに利用しているgem「Paperclip」はAmazonが公式で提供するgem「aws-sdk-s3」を使っています。aws-sdk-s3ではデフォルトで15MiB以上のファイルをマルチパートアップロードします。これを無効にする方法はありません。

とり急ぎの対処としてPaperclipのオプションでs3_headersに「'X-Amz-Multipart-Threshold' => 40.megabytes」を追加し、マルチパートアップロードに切り替える閾値を増やして解決しました。Mastodonが対応するのは40 MiBまでなのでこの対処で当面は問題ないでしょう。

Sign in to participate in the conversation
ykzts.technology

ykzts.technologyMastodonのコミッターの一人である山岸和利 (ykzts) が個人で使うために運用しているMastodonサーバーです。