Skip to content

Conversation

@tishin-endou
Copy link

@tishin-endou tishin-endou commented Jul 3, 2025

Ticket

https://redmine.devops.rcos.nii.ac.jp/issues/55671
https://redmine.devops.rcos.nii.ac.jp/issues/55665

Purpose

ファイルレンダラーのパフォーマンス最適化を目的としたプルリクエストです。OSFからのメタデータ取得を効率化し、不要なリクエストを削減します。

Changes

メタデータキャッシング機構の導入

_cached_metadata フィールドを追加してメタデータをキャッシュ
metadata メソッドでキャッシュの有無を最初にチェック
キャッシュが存在する場合は、WaterButler APIへのリクエストをスキップ
メトリクスに 'cached_from_head' を記録

HTTPメソッドの変更

_fetch_download_url メソッドのリクエストを GET → HEAD に変更
HEADリクエストはボディを含まないため、通信量を削減
レスポンスヘッダーから X-File-Metadata を取得して _cached_metadata に保存

処理フローの改善

変更前: GETリクエスト → WaterButler APIでメタデータ取得
変更後: HEADリクエスト → ヘッダーからメタデータ取得 → キャッシュ使用

Side effects

連携する変更(RDM-osf.io #612)
このプルリクエストは、RDM-osf.io #612 で追加された X-File-Metadata ヘッダーを活用します:

osf.io側: HEADリクエストのレスポンスに X-File-Metadata ヘッダーを追加
file-renderer側: そのヘッダーからメタデータを取得してキャッシュ

QA Notes

Deployment Notes

RDM-osf.io #612 → S3リージョン情報の保存とヘッダー追加
RDM-waterbutler CenterForOpenScience#79 → リージョン情報の活用
RDM-modular-file-renderer #6 → メタデータキャッシュの活用

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant