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