Verify the instanceId size
diff --git a/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/ServiceConfig.java b/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/ServiceConfig.java
index 09024e6..d9b0aa0 100644
--- a/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/ServiceConfig.java
+++ b/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/ServiceConfig.java
@@ -23,12 +23,14 @@
public class ServiceConfig {
private final String serviceName;
private final String instanceId;
+ // Current DB only supports instance id less then 35
+ private static final int MAX_LENGTH = 35;
public ServiceConfig(String serviceName) {
this(serviceName,null);
}
- public ServiceConfig(String serviceName,String instanceId) {
+ public ServiceConfig(String serviceName, String instanceId) {
this.serviceName = serviceName;
if(instanceId == null || "".equalsIgnoreCase(instanceId.trim())){
try {
@@ -37,6 +39,10 @@
throw new IllegalStateException(e);
}
}else{
+ instanceId = instanceId.trim();
+ if (instanceId.length() > MAX_LENGTH) {
+ throw new IllegalArgumentException(String.format("The instanceId length exceeds maximum length limit [%d].", MAX_LENGTH));
+ }
this.instanceId = instanceId;
}
}