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 <jbryanle...@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 <jfbald...@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`))
>>>>> 
>> 
> 

Reply via email to