MYSQL mediumText大字段存储错误问题排查「建议收藏」

MYSQL mediumText大字段存储错误问题排查「建议收藏」思路:1:由于日志查询问题,没看到日志之前怀疑:MYSQL数据库字段长度是否真的足够,排查问题未果。2:步骤一未果,看日志了解错误信息如下Name”:”com.javartisan.audience_management.jsf_service.service.AudienceService”}org.springframework.orm.jpa.JpaSystemExcepti…

大家好,又见面了,我是你们的朋友全栈君。

思路:

1:由于日志查询问题,没看到日志之前怀疑:MYSQL数据库字段长度是否真的足够,排查问题未果。

2:步骤一未果,看日志了解错误信息如下

Name":"com.javartisan.audience_management.jsf_service.service.AudienceService"}
org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:351)
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:253)
	at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:536)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:533)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:304)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
	at com.javartisan.audience_management.service.impl.AudienceDefinitionService$$EnhancerBySpringCGLIB$$85ea7805.createAudienceDef(<generated>)
	at com.javartisan.audience_management.service.impl.AudienceServiceImpl.createAudience(AudienceServiceImpl.java:305)
	at com.javartisan.audience_management.service.impl.AudienceServiceImpl$$FastClassBySpringCGLIB$$4e489ed8.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684)
	at com.javartisan.audience_management.service.impl.AudienceServiceImpl$$EnhancerBySpringCGLIB$$b5e8045e.createAudience(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.javartisan.jsf.gd.filter.ProviderInvokeFilter.reflectInvoke(ProviderInvokeFilter.java:140)
	at com.javartisan.jsf.gd.filter.ProviderInvokeFilter.invoke(ProviderInvokeFilter.java:100)
	at com.javartisan.common.spring.interceptor.JsfLogMessageInterceptor.invoke(JsfLogMessageInterceptor.java:28)
	at com.javartisan.audience_management.filter.AuthFilter.invoke(AuthFilter.java:70)
	at com.javartisan.common.spring.interceptor.JsfMdcInterceptor.invoke(JsfMdcInterceptor.java:29)
	at com.javartisan.jsf.gd.filter.ProviderConcurrentsFilter.invoke(ProviderConcurrentsFilter.java:62)
	at com.javartisan.jsf.gd.filter.ProviderTimeoutFilter.invoke(ProviderTimeoutFilter.java:39)
	at com.javartisan.jsf.gd.filter.ProviderMethodCheckFilter.invoke(ProviderMethodCheckFilter.java:78)
	at com.javartisan.jsf.gd.filter.ProviderInvokeLimitFilter.invoke(ProviderInvokeLimitFilter.java:54)
	at com.javartisan.jsf.gd.filter.ProviderHttpGWFilter.invoke(ProviderHttpGWFilter.java:47)
	at com.javartisan.jsf.gd.filter.ProviderGenericFilter.invoke(ProviderGenericFilter.java:118)
	at com.javartisan.jsf.gd.filter.ProviderContextFilter.invoke(ProviderContextFilter.java:73)
	at com.javartisan.jsf.gd.filter.ExceptionFilter.invoke(ExceptionFilter.java:49)
	at com.javartisan.jsf.gd.filter.SystemTimeCheckFilter.invoke(SystemTimeCheckFilter.java:79)
	at com.javartisan.jsf.gd.filter.FilterChain.invoke(FilterChain.java:275)
	at com.javartisan.jsf.gd.server.ProviderProxyInvoker.invoke(ProviderProxyInvoker.java:67)
	at com.javartisan.jsf.gd.server.JSFTask.doRun(JSFTask.java:123)
	at com.javartisan.jsf.gd.server.BaseTask.run(BaseTask.java:27)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3174)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3688)
	at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1453)
	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:510)
	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3282)
	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2478)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:178)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:39)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:271)
	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104)
	at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:532)
	... 40 common frames omitted
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (11379664 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.
	at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3681)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2512)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
	at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
	... 57 common frames omitted

 

解决方案:设置参数max_allowed_packet 更大满足需求

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146248.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 竣达技术丨设备云监控管理平台[通俗易懂]

    竣达技术丨设备云监控管理平台[通俗易懂]竣达技术丨设备云监控管理平台是用于集中式管理和查看远程监控设备的运行状态,用户可先关注平台微信公众号,再扫码关注对应设备,就可以随时随地的查看设备的运行状态,并能及时接收微信推送的设备告警信息,满足物联网、无人值守、远程监控需求的集中管理平台。

    2022年7月25日
    7
  • SpringBoot自动装配原理「建议收藏」

    SpringBoot自动装配原理「建议收藏」SpringBoot项目无需各种配置文件,一个main方法,就能把项目启动起来。那么我们看看SpringBoot是如何进行自动配置和启动的。SpringBoot通过main方法启动SpringApplication类的静态方法run()来启动项目。根据注释的意思,run方法从一个使用了默认配置的指定资源启动一个SpringApplication并返回ApplicationContext对象,这个默认配置如何指定呢?这个默认配置来源于@SpringBootApplication注解,这个注解是个复

    2022年8月20日
    3
  • java创建线程池代码_java手写线程池

    java创建线程池代码_java手写线程池oracle提供了一个通过ThreadPoolExecutor创建一个线程池的类构造器使用给定的参数和默认的饱和策略、默认的工厂方法创建线程池ThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueue&amp;lt;Runna…

    2022年9月30日
    0
  • docker容器基础命令

    docker容器基础命令

    2021年6月10日
    108
  • cmd命令大全

    cmd命令大全

    2021年8月19日
    57
  • 岭回归、LASSO回归(包括公式推导)[通俗易懂]

    岭回归、LASSO回归(包括公式推导)[通俗易懂]前面的两篇文章比较清楚浅显的介绍了线性回归、多项式回归,并了解到其实多项式回归也可以看作是一种特殊的线性回归形式,也就是说回归的核心就是线性回归。其原理都是最小二乘法,这是一种很简单、很方便的算法,但也有它的局限性,所以本文讲述另外的回归方式岭回归、LASSO回归,作为一个补充,解决最小二乘法的一些缺点。最小二乘法的局限性:                 …

    2022年5月3日
    159

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号