diff options
Diffstat (limited to 'weed/server/filer_grpc_server_admin.go')
| -rw-r--r-- | weed/server/filer_grpc_server_admin.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/weed/server/filer_grpc_server_admin.go b/weed/server/filer_grpc_server_admin.go index b1a936e81..c9ecfe467 100644 --- a/weed/server/filer_grpc_server_admin.go +++ b/weed/server/filer_grpc_server_admin.go @@ -6,6 +6,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/pb" "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/pb/master_pb" + "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb" "github.com/chrislusf/seaweedfs/weed/util" ) @@ -39,6 +40,23 @@ func (fs *FilerServer) Statistics(ctx context.Context, req *filer_pb.StatisticsR }, nil } +func (fs *FilerServer) Ping(ctx context.Context, req *filer_pb.PingRequest) (resp *filer_pb.PingResponse, pingErr error) { + resp = &filer_pb.PingResponse{} + if req.TargetType == "Filer" { + pingErr = pb.WithFilerClient(false, pb.ServerAddress(req.Target), fs.grpcDialOption, func(client filer_pb.SeaweedFilerClient) error { + _, err := client.Ping(ctx, &filer_pb.PingRequest{}) + return err + }) + } + if req.TargetType == "VolumeServer" { + pingErr = pb.WithVolumeServerClient(false, pb.ServerAddress(req.Target), fs.grpcDialOption, func(client volume_server_pb.VolumeServerClient) error { + _, err := client.Ping(ctx, &volume_server_pb.PingRequest{}) + return err + }) + } + return +} + func (fs *FilerServer) GetFilerConfiguration(ctx context.Context, req *filer_pb.GetFilerConfigurationRequest) (resp *filer_pb.GetFilerConfigurationResponse, err error) { clusterId, _ := fs.filer.Store.KvGet(context.Background(), []byte("clusterId")) |
