Hello,
Recently we were encountering the following error (included at the bottom of this message) each morning when visiting our website. In the log-files it looked like there is a problem once in a while with a certain <mm:list> tag which causes an exception because of weird and invalid constraints given to it:
SERVICE search.legacy.ConstraintParser.fallback - Failed to parse Constraint from search condition string:
sqlConstraint = items.number = items2.number ^M^M^M^M ^M ^M ^M ^M ^M ^M and editions.number = 89
exception: java.lang.IllegalArgumentException: Unexpected token (expected "AND" or "OR")
We found out that adding autoReconnect=true to the property "url" in the file WEB-INF/config/modules/jdbc.xml file solves the morning problem.
<property name="url">jdbc:mysql://$HOST:$PORT/$DBM?autoReconnect=true</property>
Ofcourse, the only real solution is to fix the problem-causing constraints themselves. But in case of unforeseen repeating problems of that kind in the future, is it a valid and sensible thing to set the property "url" the way we did?
Does anyone recognize the problem described here? And is our fix a valid and sensible one, or should we better do it in a different way?
Thanks in advance for any help on this matter,
Best regards,
Sander
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: SearchQuery(distinct:false, steps:[Step(tablename:editions, alias:editions0, nodes:[95]), RelationStep(tablename:posrel, alias:posrel, nodes:[], dir:destination, role:65), Step(tablename:teasers, alias:teasers, nodes:[]), RelationStep(tablename:insrel, alias:insrel, nodes:[], dir:destination, role:null), Step(tablename:items, alias:items, nodes:[])], fields:[StepField(step:editions0, fieldname:number, alias:null), StepField(step:posrel, fieldname:number, alias:null), StepField(step:teasers, fieldname:number, alias:null), StepField(step:items, fieldname:number, alias:null)], constraint:CompositeConstraint(inverse:false, operator:2, childs:[FieldValueConstraint(inverse:false, field:pos, casesensitive:true, operator:3, value:0.0), FieldValueConstraint(inverse:false, field:publicationdate, casesensitive:true, operator:1, value:1.089114859E9)]), sortorders:[SortOrder(field:null, dir:2), SortOrder(field:null, dir:2)], max:-1, offset:0):Query 'SearchQuery(distinct:false, steps:[Step(tablename:editions, alias:editions0, nodes:[95]), RelationStep(tablename:posrel, alias:posrel, nodes:[], dir:destination, role:65), Step(tablename:teasers, alias:teasers, nodes:[]), RelationStep(tablename:insrel, alias:insrel, nodes:[], dir:destination, role:null), Step(tablename:items, alias:items, nodes:[])], fields:[StepField(step:editions0, fieldname:number, alias:null), StepField(step:posrel, fieldname:number, alias:null), StepField(step:teasers, fieldname:number, alias:null), StepField(step:items, fieldname:number, alias:null)], constraint:CompositeConstraint(inverse:false, operator:2, childs:[FieldValueConstraint(inverse:false, field:pos, casesensitive:true, operator:3, value:0.0), FieldValueConstraint(inverse:false, field:publicationdate, casesensitive:true, operator:1, value:1.089114859E9)]), sortorders:[SortOrder(field:null, dir:2), SortOrder(field:null, dir:2)], max:-1, offset:0)' failed: Communication link failure: java.io.EOFException, underlying cause: null
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1388)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1532)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1923)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1163)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1272)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1218)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2233)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2181)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1158)
at org.mmbase.module.database.MultiStatement.executeQuery(MultiStatement.java:176)
at org.mmbase.storage.search.implementation.database.BasicQueryHandler.getNodes(BasicQueryHandler.java:90)
at org.mmbase.storage.implementation.database.JDBC2NodeWrapper.getNodes(JDBC2NodeWrapper.java:302)
at org.mmbase.module.core.ClusterBuilder.getClusterNodes(ClusterBuilder.java:535)
at org.mmbase.bridge.implementation.BasicCloud.getClusterNodes(BasicCloud.java:635)
at org.mmbase.bridge.implementation.BasicCloud.getSecureList(BasicCloud.java:767)
at org.mmbase.bridge.implementation.BasicCloud.getList(BasicCloud.java:560)
at org.mmbase.bridge.jsp.taglib.AbstractNodeListTag.getNodesAndTrim(AbstractNodeListTag.java:184)
at org.mmbase.bridge.jsp.taglib.AbstractNodeListTag.getNodesAndTrim(AbstractNodeListTag.java:159)
at org.mmbase.bridge.jsp.taglib.ListTag.doStartTag(ListTag.java:190)
at org.apache.jsp.biennale.index_jsp._jspx_meth_mm_related_4(index_jsp.java:6458)
at org.apache.jsp.biennale.index_jsp._jspx_meth_mm_node_20(index_jsp.java:6290)
at org.apache.jsp.biennale.index_jsp._jspService(index_jsp.java:881)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
** END NESTED EXCEPTION **
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:346)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
org.mmbase.bridge.BridgeException: SearchQuery(distinct:false, steps:[Step(tablename:editions, alias:editions0, nodes:[95]), RelationStep(tablename:posrel, alias:posrel, nodes:[], dir:destination, role:65), Step(tablename:teasers, alias:teasers, nodes:[]), RelationStep(tablename:insrel, alias:insrel, nodes:[], dir:destination, role:null), Step(tablename:items, alias:items, nodes:[])], fields:[StepField(step:editions0, fieldname:number, alias:null), StepField(step:posrel, fieldname:number, alias:null), StepField(step:teasers, fieldname:number, alias:null), StepField(step:items, fieldname:number, alias:null)], constraint:CompositeConstraint(inverse:false, operator:2, childs:[FieldValueConstraint(inverse:false, field:pos, casesensitive:true, operator:3, value:0.0), FieldValueConstraint(inverse:false, field:publicationdate, casesensitive:true, operator:1, value:1.089114859E9)]), sortorders:[SortOrder(field:null, dir:2), SortOrder(field:null, dir:2)], max:-1, offset:0):Query 'SearchQuery(distinct:false, steps:[Step(tablename:editions, alias:editions0, nodes:[95]), RelationStep(tablename:posrel, alias:posrel, nodes:[], dir:destination, role:65), Step(tablename:teasers, alias:teasers, nodes:[]), RelationStep(tablename:insrel, alias:insrel, nodes:[], dir:destination, role:null), Step(tablename:items, alias:items, nodes:[])], fields:[StepField(step:editions0, fieldname:number, alias:null), StepField(step:posrel, fieldname:number, alias:null), StepField(step:teasers, fieldname:number, alias:null), StepField(step:items, fieldname:number, alias:null)], constraint:CompositeConstraint(inverse:false, operator:2, childs:[FieldValueConstraint(inverse:false, field:pos, casesensitive:true, operator:3, value:0.0), FieldValueConstraint(inverse:false, field:publicationdate, casesensitive:true, operator:1, value:1.089114859E9)]), sortorders:[SortOrder(field:null, dir:2), SortOrder(field:null, dir:2)], max:-1, offset:0)' failed: Communication link failure: java.io.EOFException, underlying cause: null
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1388)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1532)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1923)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1163)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1272)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1218)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2233)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2181)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1158)
at org.mmbase.module.database.MultiStatement.executeQuery(MultiStatement.java:176)
at org.mmbase.storage.search.implementation.database.BasicQueryHandler.getNodes(BasicQueryHandler.java:90)
at org.mmbase.storage.implementation.database.JDBC2NodeWrapper.getNodes(JDBC2NodeWrapper.java:302)
at org.mmbase.module.core.ClusterBuilder.getClusterNodes(ClusterBuilder.java:535)
at org.mmbase.bridge.implementation.BasicCloud.getClusterNodes(BasicCloud.java:635)
at org.mmbase.bridge.implementation.BasicCloud.getSecureList(BasicCloud.java:767)
at org.mmbase.bridge.implementation.BasicCloud.getList(BasicCloud.java:560)
at org.mmbase.bridge.jsp.taglib.AbstractNodeListTag.getNodesAndTrim(AbstractNodeListTag.java:184)
at org.mmbase.bridge.jsp.taglib.AbstractNodeListTag.getNodesAndTrim(AbstractNodeListTag.java:159)
at org.mmbase.bridge.jsp.taglib.ListTag.doStartTag(ListTag.java:190)
at org.apache.jsp.biennale.index_jsp._jspx_meth_mm_related_4(index_jsp.java:6458)
at org.apache.jsp.biennale.index_jsp._jspx_meth_mm_node_20(index_jsp.java:6290)
at org.apache.jsp.biennale.index_jsp._jspService(index_jsp.java:881)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
--------------------------------------------------------------------------------
Apache Tomcat/5.0.25
