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/06/14 06:10:48 UTC

[incubator-linkis] branch dev-1.1.3 updated: [Bug-2080]Fix data too long for column 'heartbeat_msg' (#2275)

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

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


The following commit(s) were added to refs/heads/dev-1.1.3 by this push:
     new bf58b3bdb [Bug-2080]Fix data too long for column 'heartbeat_msg' (#2275)
bf58b3bdb is described below

commit bf58b3bdb1466149f20be54e64b89dc4523f2a47
Author: Casion <ca...@gmail.com>
AuthorDate: Tue Jun 14 14:10:43 2022 +0800

    [Bug-2080]Fix data too long for column 'heartbeat_msg' (#2275)
    
    * fix data too long for column 'heartbeat_msg'
    
    * fix data too long for column 'heartbeat_msg'
---
 .../DefaultEngineConnStatusCallbackService.scala      | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/engine/DefaultEngineConnStatusCallbackService.scala b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/engine/DefaultEngineConnStatusCallbackService.scala
index 5868cbf29..9fb3d180d 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/engine/DefaultEngineConnStatusCallbackService.scala
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/engine/DefaultEngineConnStatusCallbackService.scala
@@ -14,9 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
+
 package org.apache.linkis.manager.am.service.engine
 
+import java.util
+
 import org.apache.commons.lang.StringUtils
 import org.apache.linkis.common.utils.Logging
 import org.apache.linkis.manager.am.conf.AMConfiguration
@@ -30,8 +32,6 @@ import org.apache.linkis.server.BDPJettyServerHelper
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
 
-import java.util
-
 @Service
 class DefaultEngineConnStatusCallbackService extends EngineConnStatusCallbackService with Logging {
 
@@ -43,6 +43,9 @@ class DefaultEngineConnStatusCallbackService extends EngineConnStatusCallbackSer
 
   private val canRetryLogs = AMConfiguration.AM_CAN_RETRY_LOGS.getValue.split(";")
 
+  //The heartBeatMsg field is of type text, mysql text max byte num is 65535
+  private val initErrorMsgMaxByteNum = 60000
+
   @Receiver
   override def dealEngineConnStatusCallback(engineConnStatusCallbackToAM: EngineConnStatusCallbackToAM): Unit = {
 
@@ -52,7 +55,13 @@ class DefaultEngineConnStatusCallbackService extends EngineConnStatusCallbackSer
     logger.info(s"Start to deal engineConnStatusCallbackToAM $engineConnStatusCallbackToAM")
     val nodeMetrics = new AMNodeMetrics
     val heartBeatMsg: java.util.Map[String, Any] = new util.HashMap[String, Any]()
-    heartBeatMsg.put(AMConstant.START_REASON, engineConnStatusCallbackToAM.initErrorMsg)
+
+    var initErrorMsg = engineConnStatusCallbackToAM.initErrorMsg
+    if (StringUtils.isNotBlank(initErrorMsg) && initErrorMsg.getBytes("utf-8").length >= initErrorMsgMaxByteNum) {
+      initErrorMsg = initErrorMsg.substring(0, initErrorMsgMaxByteNum)
+    }
+    heartBeatMsg.put(AMConstant.START_REASON, initErrorMsg)
+
     if (engineConnStatusCallbackToAM.canRetry) {
       heartBeatMsg.put(AMConstant.EC_CAN_RETRY, engineConnStatusCallbackToAM.canRetry)
     } else if (matchRetryLog(engineConnStatusCallbackToAM.initErrorMsg)) {
@@ -76,7 +85,7 @@ class DefaultEngineConnStatusCallbackService extends EngineConnStatusCallbackSer
     if (StringUtils.isNotBlank(errorMsg)) {
       val errorMsgLowCase = errorMsg.toLowerCase
       canRetryLogs.foreach(canRetry =>
-        if (  errorMsgLowCase.contains(canRetry) ) {
+        if (errorMsgLowCase.contains(canRetry)) {
           logger.error(s"match engineConn log fatal logs,is $canRetry")
           flag = true
         }


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