API ListObjectsまたはListObjectsV2を使用してS3バケット オブジェクトを一覧表示すると無限ループする
Сводка: S3アプリケーションまたはs3cmdは、S3 API listobjectまたはlistobjectv2を使用してS3バケットからオブジェクトをクエリーします。まれに、dirCacheが存在するがリクエストを満たさない場合に、PowerScale OneFS s3が誤った結果を返します。リスト オブジェクトが無限ループにヒットするため、S3アプリケーションがハングします。 ...
Данная статья применяется к
Данная статья не применяется к
Эта статья не привязана к какому-либо конкретному продукту.
В этой статье указаны не все версии продуктов.
Симптомы
バケットのリストを完了できないため、S3アプリケーションがハングします。
S3cmd lsバケットは、ページ分割されたリストで返されるのと同じオブジェクトを繰り返し取得します。
S3cmd lsバケットは、ページ分割されたリストで返されるのと同じオブジェクトを繰り返し取得します。
Причина
これは、s3キャッシュのバグ# PSCALE-217613に影響する可能性があります。
クライアントが最大エントリ = 1000 の ListObjects を要求した場合、内部的には 10,000 エントリ (ディレクトリが非常に広い場合) を取得し、そのうちの 1000 をクライアントに返し、残りの 9000 を将来の要求のために再利用します。次のリクエストで、キャッシュがあり、ディレクトリの下にまだクライアントに返されていないファイルがまだあり、現在のキャッシュにリクエストを満たすのに十分なエントリがない場合、バグが発生し、間違った結果が返されます。
Разрешение
エンジニアリング チームは恒久的な修正に取り組んでおり、準備が整い次第、RUPパッチがリリースされる予定です。
現在の回避策は、s3 ls DIR_CACHE_TTLを一時的に0に設定することです。
現在の回避策は、s3 ls DIR_CACHE_TTLを一時的に0に設定することです。
# isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl on 0"
S3プロセスが再起動した場合、またはノードが再起動した場合は、S3の再起動時にデフォルトの1時間に戻ったため、ノードに回避策を再度適用してください。
手動をオフにするには DIR_CACHE_TTL:
#isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl off"
Затронутые продукты
Isilon, PowerScaleСвойства статьи
Номер статьи: 000223936
Тип статьи: Solution
Последнее изменение: 11 Jun 2024
Версия: 3
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.