You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/08/25 07:21:22 UTC

[incubator-linkis] 02/09: fix: fix label register

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

peacewong pushed a commit to branch dev-1.3.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git

commit 9b6c6bc5b78924dc5a025e24a16d65c8f5743fa0
Author: Jack Xu <xu...@126.com>
AuthorDate: Mon Aug 22 18:27:13 2022 +0800

    fix: fix label register
---
 .../rm/external/yarn/YarnResourceRequester.scala   |  6 ++--
 .../label/client/EurekaInstanceLabelClient.scala   | 42 ++++++++++++----------
 2 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/external/yarn/YarnResourceRequester.scala b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/external/yarn/YarnResourceRequester.scala
index f93c8550b..235d1dfaa 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/external/yarn/YarnResourceRequester.scala
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/external/yarn/YarnResourceRequester.scala
@@ -130,8 +130,7 @@ class YarnResourceRequester extends ExternalResourceRequester with Logging {
               .exists(_._2.asInstanceOf[JString].values == realQueueName)
         ) {
           Some(queues)
-        }
-        else {
+        } else {
           val childQueues = queue.find(_._1 == "childQueues")
           if (childQueues.isEmpty) None
           else getQueue(childQueues.map(_._2).get)
@@ -168,8 +167,7 @@ class YarnResourceRequester extends ExternalResourceRequester with Logging {
               .exists(_._2.asInstanceOf[JString].values == realQueueName)
         ) {
           return Some(queues)
-        }
-        else if ((queues \ "queues").toOption.nonEmpty) {
+        } else if ((queues \ "queues").toOption.nonEmpty) {
           val matchQueue = getQueueOfCapacity(getChildQueuesOfCapacity(queues))
           if (matchQueue.nonEmpty) return matchQueue
         }
diff --git a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
index 91b7f262a..89735aaeb 100644
--- a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
+++ b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
@@ -25,13 +25,15 @@ import org.apache.linkis.rpc.Sender
 import org.apache.commons.lang3.StringUtils
 
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.context.event.ApplicationStartedEvent
+import org.springframework.boot.availability.{
+  AvailabilityChangeEvent,
+  AvailabilityState,
+  ReadinessState
+}
 import org.springframework.cloud.client.serviceregistry.Registration
 import org.springframework.context.event.{ContextClosedEvent, EventListener}
 import org.springframework.stereotype.Component
 
-import javax.annotation.PostConstruct
-
 import java.util
 
 @Component
@@ -40,21 +42,25 @@ class EurekaInstanceLabelClient extends Logging {
   @Autowired
   private var registration: Registration = _
 
-  @EventListener(Array(classOf[ApplicationStartedEvent]))
-  def init(applicationStartedEvent: ApplicationStartedEvent): Unit = {
-    logger.info("EurekaInstanceLabelClient init")
-    val metadata = registration.getMetadata
-    if (
-        null != metadata && metadata.containsKey(LabelKeyConstant.ROUTE_KEY) && StringUtils
-          .isNoneBlank(metadata.get(LabelKeyConstant.ROUTE_KEY))
-    ) {
-      logger.info(s"Start to register label for instance $metadata")
-      val labels = new util.HashMap[String, Object]()
-      labels.put(LabelKeyConstant.ROUTE_KEY, metadata.get(LabelKeyConstant.ROUTE_KEY))
-      val insLabelRefreshRequest = new InsLabelRefreshRequest
-      insLabelRefreshRequest.setLabels(labels)
-      insLabelRefreshRequest.setServiceInstance(Sender.getThisServiceInstance)
-      InstanceLabelClient.getInstance.refreshLabelsToInstance(insLabelRefreshRequest)
+  @EventListener
+  def init(availabilityChangeEvent: AvailabilityChangeEvent[AvailabilityState]): Unit = {
+    availabilityChangeEvent.getState match {
+      case state: ReadinessState if state.equals(ReadinessState.ACCEPTING_TRAFFIC) =>
+        logger.info("EurekaInstanceLabelClient init")
+        val metadata = registration.getMetadata
+        if (
+            null != metadata && metadata.containsKey(LabelKeyConstant.ROUTE_KEY) && StringUtils
+              .isNoneBlank(metadata.get(LabelKeyConstant.ROUTE_KEY))
+        ) {
+          logger.info(s"Start to register label for instance $metadata")
+          val labels = new util.HashMap[String, Object]()
+          labels.put(LabelKeyConstant.ROUTE_KEY, metadata.get(LabelKeyConstant.ROUTE_KEY))
+          val insLabelRefreshRequest = new InsLabelRefreshRequest
+          insLabelRefreshRequest.setLabels(labels)
+          insLabelRefreshRequest.setServiceInstance(Sender.getThisServiceInstance)
+          InstanceLabelClient.getInstance.refreshLabelsToInstance(insLabelRefreshRequest)
+        }
+      case _ =>
     }
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org