API ListObjectsまたはListObjectsV2を使用してS3バケット オブジェクトを一覧表示すると無限ループする

요약: S3アプリケーションまたはs3cmdは、S3 API listobjectまたはlistobjectv2を使用してS3バケットからオブジェクトをクエリーします。まれに、dirCacheが存在するがリクエストを満たさない場合に、PowerScale OneFS s3が誤った結果を返します。リスト オブジェクトが無限ループにヒットするため、S3アプリケーションがハングします。 ...

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

バケットのリストを完了できないため、S3アプリケーションがハングします。
S3cmd lsバケットは、ページ分割されたリストで返されるのと同じオブジェクトを繰り返し取得します。

원인

これは、s3キャッシュのバグ# PSCALE-217613に影響する可能性があります。 
 
クライアントが最大エントリ = 1000 の ListObjects を要求した場合、内部的には 10,000 エントリ (ディレクトリが非常に広い場合) を取得し、そのうちの 1000 をクライアントに返し、残りの 9000 を将来の要求のために再利用します。次のリクエストで、キャッシュがあり、ディレクトリの下にまだクライアントに返されていないファイルがまだあり、現在のキャッシュにリクエストを満たすのに十分なエントリがない場合、バグが発生し、間違った結果が返されます。

해결

エンジニアリング チームは恒久的な修正に取り組んでおり、準備が整い次第、RUPパッチがリリースされる予定です。
現在の回避策は、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 6월 2024
버전:  3
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.