【 使用环境 】生产环境
【 使用版本 】
【问题描述】我想问一下oceanbase的行长度最大限制是多少,如何可以设置的更大?我实际测试当建表的时候,所有字段总长度大于38KB就会建表错误。
【问题现象及影响】
建表的时候提示失败,Row size too large
【附件】
Row size too large
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.engine.OceanbaseEngine.createTable(OceanbaseEngine.java:212)
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.metadata.service.TableApiService.createTable(TableApiService.java:653)
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.metadata.service.TableApiService$$FastClassBySpringCGLIB$$86ceec1f.invoke()
2023/4/17 10:26:29 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
2023/4/17 10:26:29 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
2023/4/17 10:26:29 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
2023/4/17 10:26:29 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
2023/4/17 10:26:29 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
2023/4/17 10:26:29 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
2023/4/17 10:26:29 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
2023/4/17 10:26:29 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
2023/4/17 10:26:29 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
2023/4/17 10:26:29 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.metadata.service.TableApiService$$EnhancerBySpringCGLIB$$c6d61816.createTable()
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.metadata.controller.TableApiController.createTable(TableApiController.java:143)
2023/4/17 10:26:29 at jdk.internal.reflect.GeneratedMethodAccessor329.invoke(Unknown Source)
2023/4/17 10:26:29 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2023/4/17 10:26:29 at java.base/java.lang.reflect.Method.invoke(Unknown Source)
2023/4/17 10:26:29 at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
2023/4/17 10:26:29 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
2023/4/17 10:26:29 at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
2023/4/17 10:26:29 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
2023/4/17 10:26:29 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
2023/4/17 10:26:29 at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
2023/4/17 10:26:29 at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
2023/4/17 10:26:29 at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
2023/4/17 10:26:29 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
2023/4/17 10:26:29 at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
2023/4/17 10:26:29 at javax.servlet.http.HttpServlet.service(HttpServlet.java:528)
2023/4/17 10:26:29 at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
2023/4/17 10:26:29 at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
2023/4/17 10:26:29 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
2023/4/17 10:26:29 at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
2023/4/17 10:26:29 at com.yunli.bigdata.infrastructure.interceptor.WarpRepeatableReadBodyRequestFilter.doFilter(WarpRepeatableReadBodyRequestFilter.java:19)
2023/4/17 10:26:29 at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
2023/4/17 10:26:29 at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
2023/4/17 10:26:29 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2023/4/17 10:26:29 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
2023/4/17 10:26:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
2023/4/17 10:26:29 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
2023/4/17 10:26:29 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
2023/4/17 10:26:29 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
2023/4/17 10:26:29 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
2023/4/17 10:26:29 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
2023/4/17 10:26:29 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
2023/4/17 10:26:29 at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:768)
2023/4/17 10:26:29 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
2023/4/17 10:26:29 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
2023/4/17 10:26:29 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
2023/4/17 10:26:29 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
2023/4/17 10:26:29 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
2023/4/17 10:26:29 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
2023/4/17 10:26:29 at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
2023/4/17 10:26:29 at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
2023/4/17 10:26:29 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
2023/4/17 10:26:29 at java.base/java.lang.Thread.run(Unknown Source)
2023/4/17 10:26:29 Caused by: java.sql.SQLSyntaxErrorException: (conn=29239) Row size too large
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:110)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:202)
2023/4/17 10:26:29 at com.oceanbase.jdbc.OceanBaseStatement.executeExceptionEpilogue(OceanBaseStatement.java:315)
2023/4/17 10:26:29 at com.oceanbase.jdbc.JDBC4PreparedStatement.executeInternal(JDBC4PreparedStatement.java:243)
2023/4/17 10:26:29 at com.oceanbase.jdbc.JDBC4PreparedStatement.execute(JDBC4PreparedStatement.java:161)
2023/4/17 10:26:29 at com.yunli.bigdata.infrastructure.foundation.DefaultDatabaseTemplate.execute(DefaultDatabaseTemplate.java:184)
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.engine.OceanbaseEngine.createTable(OceanbaseEngine.java:286)
2023/4/17 10:26:29 at com.yunli.bigdata.operatingsystem.engine.OceanbaseEngine.createTable(OceanbaseEngine.java:210)
2023/4/17 10:26:29 … 62 common frames omitted
2023/4/17 10:26:29 Caused by: com.oceanbase.jdbc.internal.util.exceptions.OceanBaseSqlException: Row size too large
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.util.exceptions.OceanBaseSqlException.of(OceanBaseSqlException.java:79)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:199)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:180)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:372)
2023/4/17 10:26:29 at com.oceanbase.jdbc.JDBC4PreparedStatement.executeInternal(JDBC4PreparedStatement.java:234)
2023/4/17 10:26:29 … 66 common frames omitted
2023/4/17 10:26:29 Caused by: java.sql.SQLException: Row size too large
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:2192)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:2057)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1951)
2023/4/17 10:26:29 at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:370)
2023/4/17 10:26:29 … 67 common frames omitted