Git Product home page Git Product logo

Comments (4)

abel533 avatar abel533 commented on August 25, 2024

使用6.1.0的同时,使用加下面依赖试试(超时10秒):

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>sqlparser-timeout</artifactId>
    <version>6.1.0</version>
</dependency>

可以jstack看看线程在做什么,如果很多线程都停留在jsqlparser,就有可能是解析超时。

from mybatis-pagehelper.

abel533 avatar abel533 commented on August 25, 2024

如果超时的概率很高,就发个小版本默认加上超时。

from mybatis-pagehelper.

Q3061932198 avatar Q3061932198 commented on August 25, 2024

使用6.1.0的同时,使用加下面依赖试试(超时10秒):

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>sqlparser-timeout</artifactId>
    <version>6.1.0</version>
</dependency>

可以jstack看看线程在做什么,如果很多线程都停留在jsqlparser,就有可能是解析超时。

这个sqlparser-timeout确定是默认10秒?我看代码怎么感觉是100秒啊?
image
毫秒转换成秒,去掉末尾的三个0就是秒的吧?去掉三个0剩下的是100秒

from mybatis-pagehelper.

mfkvfhpdx avatar mfkvfhpdx commented on August 25, 2024

我这也有这个问题 ,用地sqlparse 4.9,pagehlper6.10 某些sql会导致线程飙升,cpu到100% java.lang.Thread.State: RUNNABLE
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectNameWithoutValue_1844_5_120(CCJSqlParser.java:33149)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectName_1856_6_400(CCJSqlParser.java:32743)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectName_1856_5_165(CCJSqlParser.java:32751)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectNameExt_1886_7_600(CCJSqlParser.java:32575)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectNameExt_1886_5_346(CCJSqlParser.java:32589)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RelObjectNameList_1801_5_402(CCJSqlParser.java:33698)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_InternalFunction_5221_5_635(CCJSqlParser.java:31662)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Function_5123_11_474(CCJSqlParser.java:32004)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Function_5119_5_234(CCJSqlParser.java:32073)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4250_11_483(CCJSqlParser.java:35634)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4223_5_242(CCJSqlParser.java:35865)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseXor_4162_5_257(CCJSqlParser.java:36183)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_MultiplicativeExpression_4132_5_252(CCJSqlParser.java:36248)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AdditiveExpression_4108_5_249(CCJSqlParser.java:36283)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseAndOr_4076_5_244(CCJSqlParser.java:36342)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ConcatExpression_4053_5_185(CCJSqlParser.java:36398)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_SimpleExpression_4024_5_202(CCJSqlParser.java:36482)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_198(CCJSqlParser.java:37723)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_SQLCondition_3597_5_220(CCJSqlParser.java:37764)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_184(CCJSqlParser.java:38220)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3497_5_184(CCJSqlParser.java:38278)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3472_9_215(CCJSqlParser.java:38350)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_180(CCJSqlParser.java:38379)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3459_5_213(CCJSqlParser.java:38447)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_OrExpression_3437_5_212(CCJSqlParser.java:38461)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_XorExpression_3418_5_348(CCJSqlParser.java:38485)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Expression_3408_5_112(CCJSqlParser.java:38502)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_223(CCJSqlParser.java:36721)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ComplexExpressionList_3912_5_235(CCJSqlParser.java:36737)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3858_9_237(CCJSqlParser.java:36842)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_219(CCJSqlParser.java:36853)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3856_5_201(CCJSqlParser.java:36865)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_229(CCJSqlParser.java:36570)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ComparisonItem_3986_3_221(CCJSqlParser.java:36608)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RegularCondition_3531_5_219(CCJSqlParser.java:38064)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3499_9_408(CCJSqlParser.java:38226)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3497_5_184(CCJSqlParser.java:38276)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3460_9_423(CCJSqlParser.java:38430)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3459_5_213(CCJSqlParser.java:38441)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_178(CCJSqlParser.java:38455)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_OrExpression_3437_5_212(CCJSqlParser.java:38465)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_XorExpression_3418_5_348(CCJSqlParser.java:38485)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Expression_3408_5_112(CCJSqlParser.java:38502)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_223(CCJSqlParser.java:36721)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ComplexExpressionList_3912_5_235(CCJSqlParser.java:36737)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3858_9_237(CCJSqlParser.java:36842)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_219(CCJSqlParser.java:36853)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3856_5_201(CCJSqlParser.java:36865)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4290_9_493(CCJSqlParser.java:35398)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4223_5_242(CCJSqlParser.java:35933)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseXor_4162_5_257(CCJSqlParser.java:36183)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_MultiplicativeExpression_4132_5_252(CCJSqlParser.java:36248)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AdditiveExpression_4108_5_249(CCJSqlParser.java:36283)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseAndOr_4076_5_244(CCJSqlParser.java:36342)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ConcatExpression_4053_5_185(CCJSqlParser.java:36398)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_SimpleExpression_4024_5_202(CCJSqlParser.java:36482)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_198(CCJSqlParser.java:37723)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_SQLCondition_3597_5_220(CCJSqlParser.java:37764)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_184(CCJSqlParser.java:38220)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3497_5_184(CCJSqlParser.java:38278)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3460_9_423(CCJSqlParser.java:38430)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AndExpression_3459_5_213(CCJSqlParser.java:38441)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_178(CCJSqlParser.java:38455)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_OrExpression_3437_5_212(CCJSqlParser.java:38465)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_XorExpression_3418_5_348(CCJSqlParser.java:38485)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Expression_3408_5_112(CCJSqlParser.java:38502)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_223(CCJSqlParser.java:36721)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ComplexExpressionList_3912_5_235(CCJSqlParser.java:36737)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3858_9_237(CCJSqlParser.java:36842)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_219(CCJSqlParser.java:36853)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ParenthesedExpressionList_3856_5_201(CCJSqlParser.java:36865)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4290_9_493(CCJSqlParser.java:35398)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_PrimaryExpression_4223_5_242(CCJSqlParser.java:35933)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseXor_4162_5_257(CCJSqlParser.java:36183)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_MultiplicativeExpression_4132_5_252(CCJSqlParser.java:36248)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_AdditiveExpression_4108_5_249(CCJSqlParser.java:36283)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_BitwiseAndOr_4076_5_244(CCJSqlParser.java:36342)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ConcatExpression_4053_5_185(CCJSqlParser.java:36398)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_SimpleExpression_4024_5_202(CCJSqlParser.java:36482)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_228(CCJSqlParser.java:36576)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_ComparisonItem_3986_3_221(CCJSqlParser.java:36606)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_RegularCondition_3531_5_219(CCJSqlParser.java:38064)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3499_9_408(CCJSqlParser.java:38226)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_Condition_3497_5_184(CCJSqlParser.java:38276)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_181(CCJSqlParser.java:38304)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_rescan_token(CCJSqlParser.java:39811)
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:39597)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:39427)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:12475)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:12431)
at net.sf.jsqlparser.parser.CCJSqlParser.XorExpression(CCJSqlParser.java:12403)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:12474)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:12431)
at net.sf.jsqlparser.parser.CCJSqlParser.XorExpression(CCJSqlParser.java:12403)
at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:12542)
at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:12421)
at net.sf.jsqlparser.parser.CCJSqlParser.XorExpression(CCJSqlParser.java:12403)
at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:12374)
at net.sf.jsqlparser.parser.CCJSqlParser.WhereClause(CCJSqlParser.java:11669)
at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:8949)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:8205)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectWithWithItems(CCJSqlParser.java:8178)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:379)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:296)
at com.github.pagehelper.parser.SqlParser.lambda$static$0(SqlParser.java:45)
at com.github.pagehelper.parser.SqlParser$$Lambda$554/452704300.parse(Unknown Source)
at com.github.pagehelper.parser.SqlParserUtil.parse(SqlParserUtil.java:28)
at com.github.pagehelper.parser.defaults.DefaultCountSqlParser.getSmartCountSql(DefaultCountSqlParser.java:74)
at com.github.pagehelper.dialect.AbstractHelperDialect.getCountSql(AbstractHelperDialect.java:79)
at com.github.pagehelper.PageHelper.getCountSql(PageHelper.java:111)
at com.github.pagehelper.util.ExecutorUtil.executeAutoCount(ExecutorUtil.java:157)
at com.github.pagehelper.PageInterceptor.count(PageInterceptor.java:244)
at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:153)

from mybatis-pagehelper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.