aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_grpc_server_admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/server/filer_grpc_server_admin.go')
-rw-r--r--weed/server/filer_grpc_server_admin.go18
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"))