aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2021-12-30 00:23:57 -0800
committerchrislu <chris.lu@gmail.com>2021-12-30 00:23:57 -0800
commit5c87fcc6d28b230154db35cbe7735a5f1b84024f (patch)
treeaccf7f2221083bb3aec27c5ba60b24570349b85d /weed/s3api
parentfb434318e36ac8e78ab304bfd5421f110c10bdf1 (diff)
downloadseaweedfs-5c87fcc6d28b230154db35cbe7735a5f1b84024f.tar.xz
seaweedfs-5c87fcc6d28b230154db35cbe7735a5f1b84024f.zip
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.go11
2 files changed, 8 insertions, 5 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 1abf9259d..af9cba260 100644
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -3,6 +3,7 @@ package s3api
import (
"fmt"
"github.com/chrislusf/seaweedfs/weed/pb"
+ "github.com/chrislusf/seaweedfs/weed/util"
"net/http"
"strings"
"time"
@@ -25,14 +26,16 @@ type S3ApiServerOption struct {
}
type S3ApiServer struct {
- option *S3ApiServerOption
- iam *IdentityAccessManagement
+ option *S3ApiServerOption
+ iam *IdentityAccessManagement
+ randomClientId int32
}
func NewS3ApiServer(router *mux.Router, option *S3ApiServerOption) (s3ApiServer *S3ApiServer, err error) {
s3ApiServer = &S3ApiServer{
- option: option,
- iam: NewIdentityAccessManagement(option),
+ option: option,
+ iam: NewIdentityAccessManagement(option),
+ randomClientId: util.RandomInt32(),
}
s3ApiServer.registerRouter(router)