cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Baldwin <jfbald...@earthlink.net>
Subject Re: Odd error
Date Tue, 07 Feb 2012 18:07:40 GMT
I would do it, if I understood it.  However, I tried to tackle Cayenne logging about a year
ago and could never figure it out.  I couldn't even figure out how to turn it off.  It just
continued to perform the default behavior.

If you give me the exact commands and tell me exactly where to place those commands, I will
follow your directions.


On Feb 7, 2012, at 1:00 PM, Andrus Adamchik wrote:

> Can you enable Cayenne SQL logging? You'll see all the SQL executed prior to the exception.
> 
> http://cayenne.apache.org/doc30/configuring-logging.html
> 
> 
> On Feb 7, 2012, at 8:49 PM, Joe Baldwin wrote:
> 
>> Michael,
>> 
>> I have new info that makes this problem look even screwier.  (Please refer to the
error msgs below).
>> 
>> So, you might say: "so what, ... this looks like the same error".  Yes, it does!
However, I just got this error after I restarted tomcat and tried to login to my app.  There
is ABSOLUTELY no code that attempts to add/update a Product entity during a login.
>> 
>> Is it possible, that there is a cached operation that is attempting to be committed?
 (Sort of like a printer trying to print a job that you have already deleted.)
>> 
>> I have never heard of a DBMS/JDBC-lib/ORM attempting to do this, but then again,
I do not have control over the server and the techsupport dudes sound like they are very inexeprienced.
>> 
>> Joe
>> 
>> 
>> 
>> 
>> Stacktrace:
>> 	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
>> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
>> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> 	org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebApplicationContextFilter.java:93)
>> 
>> root cause
>> 
>> org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Aug 25 2010 19:42:04] Commit
Exception
>> 	org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1134)
>> 	org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1045)
>> 	cms.SessionLogger.log(Unknown Source)
>> 	cms.SessionLogger.log(Unknown Source)
>> 	org.apache.jsp.staff.admin.main.AdminLoginVerify_jsp._jspService(AdminLoginVerify_jsp.java:85)
>> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> 	org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebApplicationContextFilter.java:93)
>> 
>> root cause
>> 
>> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot
add or update a child row: a foreign key constraint fails (`eagle1_om28`.`product`, CONSTRAINT
`product_ibfk_2` FOREIGN KEY (`packageTypeOid`) REFERENCES `packagetype` (`oid`))
>> 
>> 
>> 
>> 
>> 
>> On Feb 7, 2012, at 11:48 AM, Michael Gentry wrote:
>> 
>>> Hi Bryan,
>>> 
>>> I can confirm that the commit order varies.  We were seeing the issue
>>> on the same environment, though.  When the AshwoodEntitySorter built
>>> the object graph, it would vary from run-to-run.  Once built, it is
>>> cached.  If it happens to build a proper order, you are good to go at
>>> least until you restart.  For our particular issue, we had a deep
>>> object graph cycle that didn't throw any exceptions.  The
>>> AshwoodEntitySorter doesn't work so well with cycles.  Once we removed
>>> that relationship, the problem went away.
>>> 
>>> mrg
>>> 
>>> 
>>> On Mon, Feb 6, 2012 at 7:18 AM, Bryan Lewis <jbryanlewis@gmail.com> wrote:
>>>> This error reminds me of something we see in our shop.  If multiple related
>>>> entities are being committed together, Cayenne can sometimes commit them
>>>> out of order which can cause FK constraint violations.  The commit order
>>>> seems to be indeterminate; it can work as expected on a dev machine and
>>>> fail in production.
>>>> 
>>>> Look at the SQL issued just before the error.  On one server you might see
>>>> the packagetype being inserted before the product, but the other way around
>>>> on the other server.  If this is the problem, the fix is to subclass the
>>>> AshwoodEntitySorter as has been discussed a couple of times in the list.
>>>> 
>>>> 
>>>> 
>>>> On Sun, Feb 5, 2012 at 6:48 PM, Joe Baldwin <jfbaldwin@earthlink.net>
wrote:
>>>> 
>>>>> 
>>>>> Here is the current error (which is really odd because it is working
just
>>>>> fine on my dev server)
>>>>> 
>>>>> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
>>>>> Cannot add or update a child row: a foreign key constraint fails
>>>>> (`eagle1_om28`.`product`, CONSTRAINT `product_ibfk_2` FOREIGN KEY
>>>>> (`packageTypeOid`) REFERENCES `packagetype` (`oid`))
>>>>> 
>> 
> 


Mime
View raw message