cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Commit Exception Error
Date Sun, 13 Jan 2008 10:32:50 GMT
At this point it is hard to recommend anything specific with no access  
to your environment... Now that the client side is setup to handle  
connection timeouts, you may have to start digging on the server side,  
tweaking appropriate MySQL options (e.g. those in my.cnf).

Andrus


On Jan 12, 2008, at 10:08 PM, marco turchi wrote:

> Hi Andrus,
> I have created the new url adding what u have suggested me...
> <url
> value="jdbc:mysql://enm-nc-srv1/subsumer? 
> connectTimeout=0&amp;autoReconnect=true"/>
> but I get again the same error:
> org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2.3 May 6  
> 2007] Commit
> Exception
>        at org.objectstyle.cayenne.access.DataContext.flushToParent(
> DataContext.java:1290)
>        at org.objectstyle.cayenne.access.DataContext.commitChanges(
> DataContext.java:1166)
>        at com.translation.alg.WriterData.insert(WriterData.java:57)
>        at com.translation.alg.News.write(News.java:85)
>        at  
> com.translation.alg.TranslationNews.run(TranslationNews.java:66)
>        at  
> com.translation.alg.TranslationNews.main(TranslationNews.java:21)
> Caused by: java.sql.SQLException: Communication link failure:
> java.net.SocketException, underlying cause: Broken pipe
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: Broken pipe
>
> STACKTRACE:
>
> java.net.SocketException: Broken pipe
>        at java.net.SocketOutputStream.socketWrite0(Native Method)
>        at  
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java
> :92)
>        at java.net.SocketOutputStream.write(SocketOutputStream.java: 
> 136)
>        at java.io.BufferedOutputStream.flushBuffer(
> BufferedOutputStream.java:65)
>        at  
> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1765)
>        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728)
>        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149)
>        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279)
>        at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)
>        at com.mysql.jdbc.Connection.execSQL(Connection.java:2278)
>        at com.mysql.jdbc.Connection.execSQL(Connection.java:2225)
>        at com.mysql.jdbc.Statement.execute(Statement.java:906)
>        at  
> org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase
> (MySQLPkGenerator.java:123)
>        at  
> org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity
> (JdbcPkGenerator.java:326)
>        at
> org 
> .objectstyle 
> .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity
> (DataDomainInsertBucket.java:194)
>        at
> org 
> .objectstyle 
> .cayenne.access.DataDomainInsertBucket.appendQueriesInternal(
> DataDomainInsertBucket.java:122)
>        at  
> org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries
> (DataDomainSyncBucket.java:108)
>        at  
> org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess(
> DataDomainFlushAction.java:211)
>        at org.objectstyle.cayenne.access.DataDomainFlushAction.flush(
> DataDomainFlushAction.java:167)
>        at org.objectstyle.cayenne.access.DataDomain.onSyncFlush(
> DataDomain.java:846)
>        at org.objectstyle.cayenne.access.DataDomain$2.transform(
> DataDomain.java:817)
>        at org.objectstyle.cayenne.access.DataDomain.runInTransaction(
> DataDomain.java:862)
>        at  
> org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java
> :814)
>        at org.objectstyle.cayenne.access.DataContext.flushToParent(
> DataContext.java:1262)
>        at org.objectstyle.cayenne.access.DataContext.commitChanges(
> DataContext.java:1166)
>        at com.translation.alg.WriterData.insert(WriterData.java:57)
>        at com.translation.alg.News.write(News.java:85)
>        at  
> com.translation.alg.TranslationNews.run(TranslationNews.java:66)
>        at  
> com.translation.alg.TranslationNews.main(TranslationNews.java:21)
>
>
> ** END NESTED EXCEPTION **
>
>
>        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1786)
>        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728)
>        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149)
>        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279)
>        at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)
>        at com.mysql.jdbc.Connection.execSQL(Connection.java:2278)
>        at com.mysql.jdbc.Connection.execSQL(Connection.java:2225)
>        at com.mysql.jdbc.Statement.execute(Statement.java:906)
>        at  
> org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase
> (MySQLPkGenerator.java:123)
>        at  
> org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity
> (JdbcPkGenerator.java:326)
>        at
> org 
> .objectstyle 
> .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity
> (DataDomainInsertBucket.java:194)
>        at
> org 
> .objectstyle 
> .cayenne.access.DataDomainInsertBucket.appendQueriesInternal(
> DataDomainInsertBucket.java:122)
>        at  
> org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries
> (DataDomainSyncBucket.java:108)
>        at  
> org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess(
> DataDomainFlushAction.java:211)
>        at org.objectstyle.cayenne.access.DataDomainFlushAction.flush(
> DataDomainFlushAction.java:167)
>        at org.objectstyle.cayenne.access.DataDomain.onSyncFlush(
> DataDomain.java:846)
>        at org.objectstyle.cayenne.access.DataDomain$2.transform(
> DataDomain.java:817)
>        at org.objectstyle.cayenne.access.DataDomain.runInTransaction(
> DataDomain.java:862)
>        at  
> org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java
> :814)
>        at org.objectstyle.cayenne.access.DataContext.flushToParent(
> DataContext.java:1262)
>        ... 5 more
> 12 Jan 2008 19:40:25,088 - INFO main  
> com.translation.alg.TranslationNews - [
> Ljava.lang.StackTraceElement;@1551f60
>
>
> I'm quite desperate!!! :-)
> thanks
> Marco
>
> On Jan 11, 2008 10:06 AM, Andrus Adamchik <andrus@objectstyle.org>  
> wrote:
>
>> To make it valid XML you will need to replace "&" with "&amp;" (or  
>> use
>> CayenneModeler that will do it for you).
>>
>> Andrus
>>
>>
>> On Jan 11, 2008, at 12:02 PM, marco turchi wrote:
>>
>>> I have added the string that u send me,
>>>
>>> <url
>>> value="jdbc:mysql://enm-nc-srv1/subsumer?
>>> connectTimeout=0&autoReconnect=true"/>
>>>
>>>
>>> but I get:
>>> java.lang.ExceptionInInitializerError
>>>       at
>>> com.translation.alg.TranslationNews.run(TranslationNews.java:33)
>>>       at
>>> com.translation.alg.TranslationNews.main(TranslationNews.java:21)
>>> Caused by: org.objectstyle.cayenne.ConfigurationException: [v.1.2.3
>>> May 6
>>> 2007] Error during Configuration initialization. [v.1.2.3 May 6
>>> 2007] Load
>>> failures. Main configuration class:
>>> org.objectstyle.cayenne.conf.DefaultConfiguration, details:
>>>       domain.node.name=TranslationNode,
>>> domain.node.datasource=TranslationNode.driver.xml, reason:
>>> DataSource load
>>> failed - The reference to entity "autoReconnect" must end with the  
>>> ';'
>>> delimiter.
>>>       at
>>> org
>>> .objectstyle 
>>> .cayenne.conf.Configuration.initializeSharedConfiguration(
>>> Configuration.java:321)
>>>       at
>>> org
>>> .objectstyle 
>>> .cayenne.conf.Configuration.initializeSharedConfiguration(
>>> Configuration.java:294)
>>>       at
>>> org
>>> .objectstyle 
>>> .cayenne.conf.Configuration.initializeSharedConfiguration(
>>> Configuration.java:275)
>>>       at
>>> org.objectstyle.cayenne.conf.Configuration.getSharedConfiguration
>>> (Configuration.java:212)
>>>       at
>>> org.objectstyle.cayenne.access.DataContext.createDataContext(
>>> DataContext.java:242)
>>>       at com.translation.alg.News.<clinit>(News.java:17)
>>>       ... 2 more
>>>
>>> I have added ";" at the end of the string, but nothing changes
>>> <url
>>> value="jdbc:mysql://enm-nc-srv1/subsumer?
>>> connectTimeout=0&autoReconnect=true;"/>
>>>
>>> Thanks
>>> Marco
>>> On Jan 11, 2008 9:51 AM, marco turchi <marco.turchi@gmail.com>  
>>> wrote:
>>>
>>>> Thanks...I'm going to try...
>>>> Marco
>>>>
>>>>
>>>> On Jan 11, 2008 9:39 AM, Andrus Adamchik <andrus@objectstyle.org>
>>>> wrote:
>>>>
>>>>> This is still a connection timeout issue. I dug up some of my own
>>>>> production configurations developed to address a similar issue.  
>>>>> Here
>>>>> is another URL parameter you may try - "connectTimeout". E.g.:
>>>>>
>>>>>  jdbc:mysql://server/database?connectTimeout=0&autoReconnect=true
>>>>>
>>>>> Andrus
>>>>>
>>>>> On Jan 11, 2008, at 1:36 AM, marco turchi wrote:
>>>>>
>>>>>> Hi Andrus,
>>>>>> no good news...
>>>>>> I have run the software using the changes that u have suggested 

>>>>>> me,
>>>>>> but I
>>>>>> get:
>>>>>> 10 Jan 2008 23:19:30,036 - ERROR main
>>>>>> com.translation.alg.TranslationNews -
>>>>>> Fatal Error:
>>>>>> org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2.3 May 6
>>>>>> 2007] Commit
>>>>>> Exception
>>>>>>      at org.objectstyle.cayenne.access.DataContext.flushToParent(
>>>>>> DataContext.java :1290)
>>>>>>      at org.objectstyle.cayenne.access.DataContext.commitChanges(
>>>>>> DataContext.java:1166)
>>>>>>      at com.translation.alg.WriterData.insert(WriterData.java:57)
>>>>>>      at com.translation.alg.News.write (News.java:85)
>>>>>>      at
>>>>>> com.translation.alg.TranslationNews.run(TranslationNews.java:66)
>>>>>>      at
>>>>>> com.translation.alg.TranslationNews.main(TranslationNews.java:21)
>>>>>> Caused by: java.sql.SQLException : Communication link failure:
>>>>>> java.net.SocketException, underlying cause: Broken pipe
>>>>>>
>>>>>> ** BEGIN NESTED EXCEPTION **
>>>>>>
>>>>>> java.net.SocketException
>>>>>> MESSAGE: Broken pipe
>>>>>>
>>>>>> STACKTRACE:
>>>>>>
>>>>>> java.net.SocketException: Broken pipe
>>>>>>      at java.net.SocketOutputStream.socketWrite0(Native Method)
>>>>>>      at
>>>>>> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java
>>>>>> :92)
>>>>>>      at  
>>>>>> java.net.SocketOutputStream.write(SocketOutputStream.java:
>>>>>> 136)
>>>>>>      at java.io.BufferedOutputStream.flushBuffer(
>>>>>> BufferedOutputStream.java:65)
>>>>>>      at
>>>>>> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>>>>>>      at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1765)
>>>>>>      at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728)
>>>>>>      at com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1149)
>>>>>>      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279)
>>>>>>      at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)
>>>>>>      at com.mysql.jdbc.Connection.execSQL(Connection.java :2278)
>>>>>>      at com.mysql.jdbc.Connection.execSQL(Connection.java:2225)
>>>>>>      at com.mysql.jdbc.Statement.execute(Statement.java:906)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase
>>>>>> (MySQLPkGenerator.java:123)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity
>>>>>> (JdbcPkGenerator.java:326)
>>>>>>      at
>>>>>> org
>>>>>> .objectstyle
>>>>>> .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity
>>>>>> (DataDomainInsertBucket.java:194)
>>>>>>      at
>>>>>> org
>>>>>> .objectstyle
>>>>>> .cayenne.access.DataDomainInsertBucket.appendQueriesInternal(
>>>>>> DataDomainInsertBucket.java:122)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries
>>>>>> (DataDomainSyncBucket.java:108)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess(
>>>>>> DataDomainFlushAction.java :211)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainFlushAction.flush(
>>>>>> DataDomainFlushAction.java:167)
>>>>>>      at org.objectstyle.cayenne.access.DataDomain.onSyncFlush(
>>>>>> DataDomain.java:846)
>>>>>>      at org.objectstyle.cayenne.access.DataDomain$2.transform(
>>>>>> DataDomain.java:817)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomain.runInTransaction(
>>>>>> DataDomain.java:862)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java
>>>>>> :814)
>>>>>>      at org.objectstyle.cayenne.access.DataContext.flushToParent(
>>>>>> DataContext.java:1262)
>>>>>>      at  
>>>>>> org.objectstyle.cayenne.access.DataContext.commitChanges (
>>>>>> DataContext.java:1166)
>>>>>>      at com.translation.alg.WriterData.insert(WriterData.java:57)
>>>>>>      at com.translation.alg.News.write(News.java:85)
>>>>>>      at
>>>>>> com.translation.alg.TranslationNews.run (TranslationNews.java:66)
>>>>>>      at
>>>>>> com.translation.alg.TranslationNews.main(TranslationNews.java:21)
>>>>>> ** END NESTED EXCEPTION **
>>>>>>
>>>>>>
>>>>>>      at com.mysql.jdbc.MysqlIO.send(MysqlIO.java :1786)
>>>>>>      at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:1728)
>>>>>>      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1149)
>>>>>>      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279)
>>>>>>      at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)
>>>>>>      at com.mysql.jdbc.Connection.execSQL(Connection.java:2278)
>>>>>>      at com.mysql.jdbc.Connection.execSQL(Connection.java:2225)
>>>>>>      at com.mysql.jdbc.Statement.execute(Statement.java:906)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.dba.mysql.MySQLPkGenerator.pkFromDatabase
>>>>>> (MySQLPkGenerator.java:123)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.dba.JdbcPkGenerator.generatePkForDbEntity
>>>>>> (JdbcPkGenerator.java:326)
>>>>>>      at
>>>>>> org
>>>>>> .objectstyle
>>>>>> .cayenne.access.DataDomainInsertBucket.createPermIdsForObjEntity
>>>>>> (DataDomainInsertBucket.java:194)
>>>>>>      at
>>>>>> org
>>>>>> .objectstyle
>>>>>> .cayenne.access.DataDomainInsertBucket.appendQueriesInternal(
>>>>>> DataDomainInsertBucket.java:122)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainSyncBucket.appendQueries
>>>>>> (DataDomainSyncBucket.java:108)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainFlushAction.preprocess(
>>>>>> DataDomainFlushAction.java:211)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomainFlushAction.flush (
>>>>>> DataDomainFlushAction.java:167)
>>>>>>      at org.objectstyle.cayenne.access.DataDomain.onSyncFlush(
>>>>>> DataDomain.java:846)
>>>>>>      at org.objectstyle.cayenne.access.DataDomain$2.transform(
>>>>>> DataDomain.java:817)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomain.runInTransaction(
>>>>>> DataDomain.java:862)
>>>>>>      at
>>>>>> org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java
>>>>>> :814)
>>>>>>      at org.objectstyle.cayenne.access.DataContext.flushToParent(
>>>>>> DataContext.java:1262)
>>>>>>      ... 5 more
>>>>>> 10 Jan 2008 23:19:30,103 - INFO main
>>>>>> com.translation.alg.TranslationNews - [
>>>>>> Ljava.lang.StackTraceElement;@1551f60
>>>>>>
>>>>>> I do not know what it is...
>>>>>> sorry aout that
>>>>>> thanks
>>>>>> Marco
>>>>>>
>>>>>>
>>>>>> On Jan 10, 2008 12:50 PM, marco turchi < marco.turchi@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>>> sorry about that... :-)
>>>>>>> Thanks
>>>>>>> Marco
>>>>>>>
>>>>>>>
>>>>>>> On Jan 10, 2008 12:47 PM, Andrus Adamchik <
>>>>>>> andrus@objectstyle.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Ah cool. I thought I was going crazy :-)
>>>>>>>>
>>>>>>>> Andrus
>>>>>>>>
>>>>>>>> On Jan 10, 2008, at 2:37 PM, marco turchi wrote:
>>>>>>>>
>>>>>>>>> Hi Andrus,
>>>>>>>>> sorry you are right I have added the autoReconnect to
the  
>>>>>>>>> wrong
>>>>>>>>> place...
>>>>>>>>> now the software is started, I'll see what happens at
the  
>>>>>>>>> end...
>>>>>>>>> thanks
>>>>>>>>> Marco
>>>>>>>>>
>>>>>>>>> On Jan 10, 2008 11:01 AM, marco turchi < marco.turchi@gmail.com

>>>>>>>>> >
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> <?xml version="1.0" encoding="utf-8"?>
>>>>>>>>>> <driver project-version="1.1" class="com.mysql.jdbc.Driver">
>>>>>>>>>>    <url
>>>>>>>>>> value="jdbc:mysql://enm-nc-srv1/subsumer? 
>>>>>>>>>> autoReconnect=true"/>
>>>>>>>>>>    <connectionPool min="1" max="1" />
>>>>>>>>>>    <login userName="####" password="#####"/>
>>>>>>>>>> </driver>
>>>>>>>>>> thanks
>>>>>>>>>> Marco
>>>>>>>>>>
>>>>>>>>>> On Jan 10, 2008 10:51 AM, Andrus Adamchik <
>>>>>>>>>> andrus@objectstyle.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Jan 10, 2008, at 12:33 PM, marco turchi wrote:
>>>>>>>>>>>
>>>>>>>>>>>>>> DataSource load failed - Can not
load JDBC driver named
>>>>>>>>>>>>>> 'com.mysql.jdbc.Driver
>>>>>>>>>>>>>> ?autoReconnect=true': com.mysql.jdbc.Driver?
>>>>>>>>>>>>>> autoReconnect=true
>>>>>>>>>>>
>>>>>>>>>>> But this is what generates an error... so somehow
the driver
>>>>>>>>>>> name
>>>>>
>>>>>>>>>>> seems messed up. Could you post the entire file
(just remove
>>>>>>>>>>> the
>>>>>>>>>>> password)?
>>>>>>>>>>>
>>>>>>>>>>> Andrus
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>
>>
>>


Mime
View raw message