mirror of
https://github.com/minio/minio.git
synced 2025-11-07 21:02:58 -05:00
proxy multipart to peers via multipart uploadID (#15926)
This commit is contained in:
@@ -4843,3 +4843,27 @@ func isUserInfoEqual(u1, u2 madmin.UserInfo) bool {
|
||||
func isPolicyMappingEqual(p1, p2 srPolicyMapping) bool {
|
||||
return p1.Policy == p2.Policy && p1.IsGroup == p2.IsGroup && p1.UserOrGroup == p2.UserOrGroup
|
||||
}
|
||||
|
||||
type srPeerInfo struct {
|
||||
madmin.PeerInfo
|
||||
EndpointURL *url.URL
|
||||
}
|
||||
|
||||
// getPeerForUpload returns the site replication peer handling this upload. Defaults to local cluster otherwise
|
||||
func (c *SiteReplicationSys) getPeerForUpload(deplID string) (pi srPeerInfo, local bool) {
|
||||
ci, _ := c.GetClusterInfo(GlobalContext)
|
||||
if !ci.Enabled {
|
||||
return pi, true
|
||||
}
|
||||
for _, site := range ci.Sites {
|
||||
if deplID == site.DeploymentID {
|
||||
ep, _ := url.Parse(site.Endpoint)
|
||||
pi = srPeerInfo{
|
||||
PeerInfo: site,
|
||||
EndpointURL: ep,
|
||||
}
|
||||
return pi, site.DeploymentID == globalDeploymentID
|
||||
}
|
||||
}
|
||||
return pi, true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user