This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch rel/1.2
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/1.2 by this push:
     new f0408c336ca Fixed ping command for rest service (#11246)
f0408c336ca is described below

commit f0408c336ca8497536c0a606425728351eadff72
Author: CloudWise-Lukemiao 
<[email protected]>
AuthorDate: Wed Oct 11 14:38:19 2023 +0800

    Fixed ping command for rest service (#11246)
    
    Co-authored-by: Cloudwise_Luke <[email protected]>
---
 .../db/protocol/rest/impl/PingApiServiceImpl.java  | 51 ++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java
new file mode 100644
index 00000000000..d16988e4312
--- /dev/null
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.iotdb.db.protocol.rest.impl;
+
+import org.apache.iotdb.commons.service.ThriftService;
+import org.apache.iotdb.db.protocol.rest.PingApiService;
+import org.apache.iotdb.db.protocol.rest.model.ExecutionStatus;
+import org.apache.iotdb.db.service.RPCService;
+import org.apache.iotdb.rpc.TSStatusCode;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.SecurityContext;
+
+public class PingApiServiceImpl extends PingApiService {
+
+  private static final String UNAVAILABLE_SERVICE = "thrift service is 
unavailable";
+
+  @Override
+  public Response tryPing(SecurityContext securityContext) {
+    if 
(RPCService.getInstance().getRPCServiceStatus().equals(ThriftService.STATUS_DOWN))
 {
+      return Response.status(Response.Status.SERVICE_UNAVAILABLE)
+          .entity(
+              new ExecutionStatus()
+                  .code(TSStatusCode.INTERNAL_SERVER_ERROR.getStatusCode())
+                  .message(UNAVAILABLE_SERVICE))
+          .build();
+    }
+
+    return Response.ok()
+        .entity(
+            new ExecutionStatus()
+                .code(TSStatusCode.SUCCESS_STATUS.getStatusCode())
+                .message(TSStatusCode.SUCCESS_STATUS.name()))
+        .build();
+  }
+}

Reply via email to