注册

应用程序获取数据表元数据信息抛出会话请求超时异常

省云-达梦张雄彪 2022/10/21 1653 3 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:启云
【CPU】:
【问题描述】*:
应用程序通过以下语句获取数据表元数据信息抛出 session request timeout 异常,执行其它语句均正常,该语句在 DM 客户端中执行也是正常且是秒出。

报错语句

SELECT TAB2.*, COMT."COMMENT$" AS TABLE_COMMENT FROM ( SELECT OWNER AS SCHEMA_NAME, TABLE_NAME FROM ALL_TABLES WHERE OWNER NOT IN ('SYS', 'CTISYS') UNION SELECT OWNER AS SCHEMA_NAME, VIEW_NAME AS TABLE_NAME FROM ALL_VIEWS WHERE OWNER NOT IN ('SYS', 'CTISYS') ) AS TAB2 LEFT JOIN SYS.SYSTABLECOMMENTS AS COMT ON TAB2.SCHEMA_NAME = COMT.SCHNAME AND TAB2.TABLE_NAME = COMT.TVNAME ORDER BY TAB2.SCHEMA_NAME, TAB2.TABLE_NAME

报错异常堆栈信息

java.lang.RuntimeException: org.springframework.dao.DataIntegrityViolationException: ### Error querying database. Cause: dm.jdbc.driver.DMException: session request timeout ### The error may exist in URL [jar:file:/opt/apps/dmga-dg-fat-service/lib/dmga-dg-metadata-4.2.2-SNAPSHOT.jar!/com/dm/dg/metadata/dialect/domain/Dm7Dialect.xml] ### The error may involve com.dm.dg.metadata.dialect.dm7.listTables-Inline ### The error occurred while setting parameters ### SQL: SELECT TAB2.*, COMT."COMMENT$" AS TABLE_COMMENT FROM (SELECT OWNER AS SCHEMA_NAME, TABLE_NAME FROM ALL_TABLES WHERE OWNER NOT IN ('SYS', 'CTISYS') UNION SELECT OWNER AS SCHEMA_NAME, VIEW_NAME AS TABLE_NAME FROM ALL_VIEWS WHERE OWNER NOT IN ('SYS', 'CTISYS') ) AS TAB2 LEFT JOIN SYS.SYSTABLECOMMENTS AS COMT ON TAB2.SCHEMA_NAME = COMT.SCHNAME AND TAB2.TABLE_NAME = COMT.TVNAME ORDER BY TAB2.SCHEMA_NAME, TAB2.TABLE_NAME ### Cause: dm.jdbc.driver.DMException: session request timeout ; SQL []; session request timeout; nested exception is dm.jdbc.driver.DMException: session request timeout org.springframework.dao.DataIntegrityViolationException: ### Error querying database. Cause: dm.jdbc.driver.DMException: session request timeout ### The error may exist in URL [jar:file:/opt/apps/dmga-dg-fat-service/lib/dmga-dg-metadata-4.2.2-SNAPSHOT.jar!/com/dm/dg/metadata/dialect/domain/Dm7Dialect.xml] ### The error may involve com.dm.dg.metadata.dialect.dm7.listTables-Inline ### The error occurred while setting parameters ### SQL: SELECT TAB2.*, COMT."COMMENT$" AS TABLE_COMMENT FROM (SELECT OWNER AS SCHEMA_NAME, TABLE_NAME FROM ALL_TABLES WHERE OWNER NOT IN ('SYS', 'CTISYS') UNION SELECT OWNER AS SCHEMA_NAME, VIEW_NAME AS TABLE_NAME FROM ALL_VIEWS WHERE OWNER NOT IN ('SYS', 'CTISYS') ) AS TAB2 LEFT JOIN SYS.SYSTABLECOMMENTS AS COMT ON TAB2.SCHEMA_NAME = COMT.SCHNAME AND TAB2.TABLE_NAME = COMT.TVNAME ORDER BY TAB2.SCHEMA_NAME, TAB2.TABLE_NAME ### Cause: dm.jdbc.driver.DMException: session request timeout ; SQL []; session request timeout; nested exception is dm.jdbc.driver.DMException: session request timeout at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:102) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446) at com.sun.proxy.$Proxy46.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230) at com.dm.wmf.core.dataaccess.dao.impl.SqlDaoMyBatisImpl.list(SqlDaoMyBatisImpl.java:68) at com.dm.dg.metadata.dialect.impl.Dm7Dialect.getTables(Dm7Dialect.java:43) at com.dm.dg.metadata.util.DialectUtil.getTables(DialectUtil.java:209) at com.dm.dg.metadata.util.DialectUtil.getTables(DialectUtil.java:193) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl.getRemoteDataSet(RdbmsDatasetServiceImpl.java:90) at com.dm.dg.metadata.util.DataSetServiceUtil.defaultDiffInLocal(DataSetServiceUtil.java:118) at com.dm.dg.metadata.util.DataSetServiceUtil.diffInLocalWithPatternTableName(DataSetServiceUtil.java:83) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl.getTablesWithCollectedTag(RdbmsDatasetServiceImpl.java:80) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl.getRemoteTablesDetail(RdbmsDatasetServiceImpl.java:387) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl.syncRdbmsDataset(RdbmsDatasetServiceImpl.java:121) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl.createTableByConfig(RdbmsDatasetServiceImpl.java:478) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl$$FastClassBySpringCGLIB$$fe750200.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at com.dm.dg.metadata.dataset.service.impl.RdbmsDatasetServiceImpl$$EnhancerBySpringCGLIB$$240f17d6.createTableByConfig(<generated>) at com.dm.dg.metadata.generatetable.adapter.RdbmsGenerateTable.generate(RdbmsGenerateTable.java:96) at com.dm.dg.metadata.datasource.servicewrapper.impl.DataSourceServiceWrapperImpl.createTableByConfig(DataSourceServiceWrapperImpl.java:954) at com.dm.dg.metadata.datasource.servicewrapper.impl.DataSourceServiceWrapperImpl.autoCreateDataset(DataSourceServiceWrapperImpl.java:799) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: dm.jdbc.driver.DMException: session request timeout at dm.jdbc.driver.DBError.throwException(DBError.java:696) at dm.jdbc.b.b.o.E(MSG.java:560) at dm.jdbc.b.b.o.B(MSG.java:520) at dm.jdbc.b.b.o.A(MSG.java:501) at dm.jdbc.b.a.a(DBAccess.java:230) at dm.jdbc.b.a.b(DBAccess.java:908) at dm.jdbc.b.a.a(DBAccess.java:779) at dm.jdbc.driver.DmdbPreparedStatement.executeInner(DmdbPreparedStatement.java:378) at dm.jdbc.driver.DmdbPreparedStatement.do_execute(DmdbPreparedStatement.java:466) at dm.jdbc.driver.DmdbPreparedStatement.execute(DmdbPreparedStatement.java:1836) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497) at sun.reflect.GeneratedMethodAccessor320.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) at com.sun.proxy.$Proxy63.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:326) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:143) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at com.sun.proxy.$Proxy61.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) at sun.reflect.GeneratedMethodAccessor349.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ... 57 more
回答 0
暂无回答
扫一扫
联系客服