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

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


The following commit(s) were added to refs/heads/dev-1.2.0 by this push:
     new d4d469c33 fix the exception of java.util.NoSuchElementException: 
None.get (#2848)
d4d469c33 is described below

commit d4d469c3310251cfc7efb8bd775f216a8699787d
Author: Casion <[email protected]>
AuthorDate: Wed Aug 17 18:51:32 2022 +0800

    fix the exception of java.util.NoSuchElementException: None.get (#2848)
---
 .../linkis/manager/rm/restful/RMMonitorRest.scala  | 48 ++++++++++++----------
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/restful/RMMonitorRest.scala
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/restful/RMMonitorRest.scala
index 55b8a58ad..b565e96ca 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/restful/RMMonitorRest.scala
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/rm/restful/RMMonitorRest.scala
@@ -501,28 +501,32 @@ class RMMonitorRest extends Logging {
       } else {
         
metrics.get(node.getServiceInstance.toString).foreach(metricsConverter.fillMetricsToNode(node,
 _))
         if (withResource) {
-          val userCreatorLabel = 
node.getLabels.asScala.find(_.isInstanceOf[UserCreatorLabel]).get.asInstanceOf[UserCreatorLabel]
-          val engineTypeLabel = 
node.getLabels.asScala.find(_.isInstanceOf[EngineTypeLabel]).get.asInstanceOf[EngineTypeLabel]
-          val engineInstanceLabel = 
node.getLabels.asScala.find(_.isInstanceOf[EngineInstanceLabel]).get.asInstanceOf[EngineInstanceLabel]
-          
engineInstanceLabel.setServiceName(node.getServiceInstance.getApplicationName)
-          engineInstanceLabel.setInstance(node.getServiceInstance.getInstance)
-          val nodeResource = 
labelResourceService.getLabelResource(engineInstanceLabel)
-          val configurationKey = getUserCreator(userCreatorLabel) + 
getEngineType(engineTypeLabel)
-          val configuredResource = configurationMap.get(configurationKey) 
match {
-            case Some(resource) => resource
-            case None =>
-              if (nodeResource != null) {
-                val resource = 
UserConfiguration.getUserConfiguredResource(nodeResource.getResourceType, 
userCreatorLabel, engineTypeLabel)
-                configurationMap.put(configurationKey, resource)
-                resource
-              } else null
-          }
-          if(nodeResource != null) {
-            nodeResource.setMaxResource(configuredResource)
-            if(null == nodeResource.getUsedResource) 
nodeResource.setUsedResource(nodeResource.getLockedResource)
-            if(null == nodeResource.getMinResource) 
nodeResource.setMinResource(Resource.initResource(nodeResource.getResourceType))
-//            node.setNodeResource(ResourceUtils.convertTo(nodeResource, 
ResourceType.LoadInstance))
-            node.setNodeResource(nodeResource)
+          val userCreatorLabelOption = 
node.getLabels.asScala.find(_.isInstanceOf[UserCreatorLabel])
+          val engineTypeLabelOption = 
node.getLabels.asScala.find(_.isInstanceOf[EngineTypeLabel])
+          val engineInstanceOption = 
node.getLabels.asScala.find(_.isInstanceOf[EngineInstanceLabel])
+          if (userCreatorLabelOption.isDefined && 
engineTypeLabelOption.isDefined && engineInstanceOption.isDefined) {
+            val userCreatorLabel = 
userCreatorLabelOption.get.asInstanceOf[UserCreatorLabel]
+            val engineTypeLabel = 
engineTypeLabelOption.get.asInstanceOf[EngineTypeLabel]
+            val engineInstanceLabel = 
engineInstanceOption.get.asInstanceOf[EngineInstanceLabel]
+            
engineInstanceLabel.setServiceName(node.getServiceInstance.getApplicationName)
+            
engineInstanceLabel.setInstance(node.getServiceInstance.getInstance)
+            val nodeResource = 
labelResourceService.getLabelResource(engineInstanceLabel)
+            val configurationKey = getUserCreator(userCreatorLabel) + 
getEngineType(engineTypeLabel)
+            val configuredResource = configurationMap.get(configurationKey) 
match {
+              case Some(resource) => resource
+              case None =>
+                if (nodeResource != null) {
+                  val resource = 
UserConfiguration.getUserConfiguredResource(nodeResource.getResourceType, 
userCreatorLabel, engineTypeLabel)
+                  configurationMap.put(configurationKey, resource)
+                  resource
+                } else null
+            }
+            if (nodeResource != null) {
+              nodeResource.setMaxResource(configuredResource)
+              if (null == nodeResource.getUsedResource) 
nodeResource.setUsedResource(nodeResource.getLockedResource)
+              if (null == nodeResource.getMinResource) 
nodeResource.setMinResource(Resource.initResource(nodeResource.getResourceType))
+              node.setNodeResource(nodeResource)
+            }
           }
         }
         node


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to