|
|
|
@ -91,9 +91,11 @@ func (s3a *S3ApiServer) PutBucketPolicyHandler(w http.ResponseWriter, r *http.Re |
|
|
|
|
|
|
|
// Immediately load into policy engine to avoid race condition
|
|
|
|
// (The subscription system will also do this async, but we want immediate effect)
|
|
|
|
if err := s3a.policyEngine.LoadBucketPolicyFromCache(bucket, &policyDoc); err != nil { |
|
|
|
glog.Warningf("Failed to immediately load bucket policy into engine for %s: %v", bucket, err) |
|
|
|
// Don't fail the request since the subscription will eventually sync it
|
|
|
|
if s3a.policyEngine != nil { |
|
|
|
if err := s3a.policyEngine.LoadBucketPolicyFromCache(bucket, &policyDoc); err != nil { |
|
|
|
glog.Warningf("Failed to immediately load bucket policy into engine for %s: %v", bucket, err) |
|
|
|
// Don't fail the request since the subscription will eventually sync it
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Update IAM integration with new bucket policy
|
|
|
|
@ -132,9 +134,11 @@ func (s3a *S3ApiServer) DeleteBucketPolicyHandler(w http.ResponseWriter, r *http |
|
|
|
|
|
|
|
// Immediately remove from policy engine to avoid race condition
|
|
|
|
// (The subscription system will also do this async, but we want immediate effect)
|
|
|
|
if err := s3a.policyEngine.DeleteBucketPolicy(bucket); err != nil { |
|
|
|
glog.Warningf("Failed to immediately remove bucket policy from engine for %s: %v", bucket, err) |
|
|
|
// Don't fail the request since the subscription will eventually sync it
|
|
|
|
if s3a.policyEngine != nil { |
|
|
|
if err := s3a.policyEngine.DeleteBucketPolicy(bucket); err != nil { |
|
|
|
glog.Warningf("Failed to immediately remove bucket policy from engine for %s: %v", bucket, err) |
|
|
|
// Don't fail the request since the subscription will eventually sync it
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Update IAM integration to remove bucket policy
|
|
|
|
|