PowerScale:API ListObjectsを使用するとS3バケット オブジェクトの一覧表示が無限にループする

摘要: S3アプリケーションまたはS3コマンドは、S3 API listobjectまたはlistobjectv2を使用して、S3バケットからオブジェクトをクエリーします。場合によっては、dirCacheが存在するにもかかわらずリクエストを満たしていない場合、PowerScale OneFS S3が間違った結果を返すことがあります。リスト オブジェクトで無限ループが発生しているため、S3アプリケーションが応答を停止します。 ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

完了していないバケットを一覧表示するため、S3アプリケーションが応答を停止する

S3コマンド ls バケットは、ページ分割されたリストで返されるのと同じオブジェクトを繰り返し取得します。

原因

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

解决方案

Dellエンジニアリングでは、この問題の恒久的な解決に取り組んでいます。ロールアップ パッチ(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
上次修改时间: 07 4月 2026
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。