From 429c9b3c9ce9398f7abcec5675a40a246e728f3d Mon Sep 17 00:00:00 2001 From: webb2019 <52440226+webb2019@users.noreply.github.com> Date: Mon, 26 Aug 2019 09:40:37 +0800 Subject: [PATCH] Data binary limit (#3321) * fix "DATA_BINARY" limit VARCHAR(20000) --- .../storage/plugin/jdbc/h2/dao/H2TableInstaller.java | 8 ++++++++ .../storage/plugin/jdbc/mysql/MySQLTableInstaller.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2TableInstaller.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2TableInstaller.java index 5f8d00fb04..ea3d7ead54 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2TableInstaller.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2TableInstaller.java @@ -19,7 +19,10 @@ package org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao; import java.sql.*; + +import org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord; import org.apache.skywalking.oap.server.core.analysis.metrics.IntKeyLongValueHashMap; +import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.core.storage.model.*; import org.apache.skywalking.oap.server.library.client.Client; @@ -90,6 +93,11 @@ public class H2TableInstaller extends ModelInstaller { } else if (IntKeyLongValueHashMap.class.equals(type)) { return "VARCHAR(20000)"; } else if (byte[].class.equals(type)) { + if (DefaultScopeDefine.SEGMENT == model.getScopeId()) { + if (name.getName().equals(SegmentRecord.DATA_BINARY)) { + return "MEDIUMTEXT"; + } + } return "VARCHAR(20000)"; } else { throw new IllegalArgumentException("Unsupported data type: " + type.getName()); diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLTableInstaller.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLTableInstaller.java index 1476d65b82..af409bc131 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLTableInstaller.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLTableInstaller.java @@ -71,6 +71,9 @@ public class MySQLTableInstaller extends H2TableInstaller { if (DefaultScopeDefine.SEGMENT == model.getScopeId()) { if (name.getName().equals(SegmentRecord.TRACE_ID) || name.getName().equals(SegmentRecord.SEGMENT_ID)) return "VARCHAR(300)"; + if (name.getName().equals(SegmentRecord.DATA_BINARY)) { + return "MEDIUMTEXT"; + } } return "VARCHAR(2000)"; } else if (IntKeyLongValueHashMap.class.equals(type)) { -- GitLab