forked from TrueCloudLab/frostfs-node
[#1422] tree: Use dialer source for tree service connections
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
6c96cc2af6
commit
e314f328c4
4 changed files with 15 additions and 2 deletions
|
@ -8,6 +8,7 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
internalNet "git.frostfs.info/TrueCloudLab/frostfs-node/internal/net"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/network"
|
||||
metrics "git.frostfs.info/TrueCloudLab/frostfs-observability/metrics/grpc"
|
||||
tracing "git.frostfs.info/TrueCloudLab/frostfs-observability/tracing/grpc"
|
||||
|
@ -21,6 +22,7 @@ type clientCache struct {
|
|||
sync.Mutex
|
||||
simplelru.LRU[string, cacheItem]
|
||||
key *ecdsa.PrivateKey
|
||||
ds *internalNet.DialerSource
|
||||
}
|
||||
|
||||
type cacheItem struct {
|
||||
|
@ -36,7 +38,7 @@ const (
|
|||
|
||||
var errRecentlyFailed = errors.New("client has recently failed")
|
||||
|
||||
func (c *clientCache) init(pk *ecdsa.PrivateKey) {
|
||||
func (c *clientCache) init(pk *ecdsa.PrivateKey, ds *internalNet.DialerSource) {
|
||||
l, _ := simplelru.NewLRU(defaultClientCacheSize, func(_ string, value cacheItem) {
|
||||
if conn := value.cc; conn != nil {
|
||||
_ = conn.Close()
|
||||
|
@ -44,6 +46,7 @@ func (c *clientCache) init(pk *ecdsa.PrivateKey) {
|
|||
})
|
||||
c.LRU = *l
|
||||
c.key = pk
|
||||
c.ds = ds
|
||||
}
|
||||
|
||||
func (c *clientCache) get(ctx context.Context, netmapAddr string) (TreeServiceClient, error) {
|
||||
|
@ -99,6 +102,7 @@ func (c *clientCache) dialTreeService(ctx context.Context, netmapAddr string) (*
|
|||
metrics.NewStreamClientInterceptor(),
|
||||
tracing.NewStreamClientInterceptor(),
|
||||
),
|
||||
grpc.WithContextDialer(c.ds.GrpcContextDialer()),
|
||||
}
|
||||
|
||||
if !netAddr.IsTLSEnabled() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue