aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2022-01-02 01:11:27 -0800
committerGitHub <noreply@github.com>2022-01-02 01:11:27 -0800
commit077f831749e6bbf12ff52fd369b493e4dd751817 (patch)
tree81912d857c0dcc0dba64661aa8f06ba81e68a40a /weed/s3api
parent9b941773805400c520558d83aed633adc821988c (diff)
parent42c849e0df74610d38453db67670db715ceb80aa (diff)
downloadseaweedfs-077f831749e6bbf12ff52fd369b493e4dd751817.tar.xz
seaweedfs-077f831749e6bbf12ff52fd369b493e4dd751817.zip
Merge pull request #2550 from chrislusf/metadata_follow_with_client_id
add client id for all metadata listening clients
Diffstat (limited to 'weed/s3api')
-rw-r--r--weed/s3api/auth_credentials_subscribe.go2
-rw-r--r--weed/s3api/s3api_server.go14
2 files changed, 9 insertions, 7 deletions
diff --git a/weed/s3api/auth_credentials_subscribe.go b/weed/s3api/auth_credentials_subscribe.go
index a2a3e807a..bd0b1016d 100644
--- a/weed/s3api/auth_credentials_subscribe.go
+++ b/weed/s3api/auth_credentials_subscribe.go
@@ -33,7 +33,7 @@ func (s3a *S3ApiServer) subscribeMetaEvents(clientName string, prefix string, la
}
util.RetryForever("followIamChanges", func() error {
- return pb.WithFilerClientFollowMetadata(s3a, clientName, prefix, &lastTsNs, 0, processEventFn, true)
+ return pb.WithFilerClientFollowMetadata(s3a, clientName, s3a.randomClientId, prefix, &lastTsNs, 0, processEventFn, true)
}, func(err error) bool {
glog.V(0).Infof("iam follow metadata changes: %v", err)
return true
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go
index b992fdf88..c560fbea2 100644
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -27,9 +27,10 @@ type S3ApiServerOption struct {
}
type S3ApiServer struct {
- option *S3ApiServerOption
- iam *IdentityAccessManagement
- filerGuard *security.Guard
+ option *S3ApiServerOption
+ iam *IdentityAccessManagement
+ randomClientId int32
+ filerGuard *security.Guard
}
func NewS3ApiServer(router *mux.Router, option *S3ApiServerOption) (s3ApiServer *S3ApiServer, err error) {
@@ -43,9 +44,10 @@ func NewS3ApiServer(router *mux.Router, option *S3ApiServerOption) (s3ApiServer
readExpiresAfterSec := v.GetInt("jwt.filer_signing.read.expires_after_seconds")
s3ApiServer = &S3ApiServer{
- option: option,
- iam: NewIdentityAccessManagement(option),
- filerGuard: security.NewGuard([]string{}, signingKey, expiresAfterSec, readSigningKey, readExpiresAfterSec),
+ option: option,
+ iam: NewIdentityAccessManagement(option),
+ randomClientId: util.RandomInt32(),
+ filerGuard: security.NewGuard([]string{}, signingKey, expiresAfterSec, readSigningKey, readExpiresAfterSec),
}
s3ApiServer.registerRouter(router)