Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO - MySQL] java.util.concurrent.TimeoutException(Connectivity issue with MySQL adapter for CDO)
[CDO - MySQL] java.util.concurrent.TimeoutException [message #1075378] Mon, 29 July 2013 10:23 Go to next message
Konstantinos Barmpis is currently offline Konstantinos Barmpis
Messages: 12
Registered: July 2013
Junior Member
To whom it may concern,

I am trying to configure CDO-MySQL to a new installation of Kepler (With Eclipse Modeling Tools).

I am able to run the client + server as per the tutorial (http://wiki.eclipse.org/CDO/User_Contributed_Documentation - An Introduction to CDO 4.0 (by Vincenzo Caselli, RCPVision)) but when I try to commit a transaction (even one with only a single model element in it, either using the CDO session UI, or programmatically) I get:

---------------------------------------------------------

java.util.concurrent.TimeoutException
org.eclipse.emf.cdo.common.util.TransportException: java.util.concurrent.TimeoutException
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:526)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.commitTransaction(CDOClientProtocol.java:393)
	at org.eclipse.emf.internal.cdo.session.DelegatingSessionProtocol.commitTransaction(DelegatingSessionProtocol.java:292)
	at org.eclipse.emf.internal.cdo.transaction.CDOSingleTransactionStrategyImpl.commit(CDOSingleTransactionStrategyImpl.java:72)
	at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:1191)
	at org.eclipse.emf.cdo.internal.ui.editor.CDOEditor$22.run(CDOEditor.java:1845)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.util.concurrent.TimeoutException
	at org.eclipse.net4j.util.io.IOTimeoutException.createTimeoutException(IOTimeoutException.java:46)
	at org.eclipse.net4j.signal.Signal.runSync(Signal.java:257)
	at org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalProtocol.java:442)
	at org.eclipse.net4j.signal.RequestWithConfirmation.doSend(RequestWithConfirmation.java:89)
	at org.eclipse.net4j.signal.RequestWithConfirmation.send(RequestWithConfirmation.java:75)
	at org.eclipse.net4j.signal.RequestWithMonitoring.send(RequestWithMonitoring.java:110)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:518)
	... 6 more
Caused by: org.eclipse.net4j.util.io.IOTimeoutException
	at org.eclipse.net4j.buffer.BufferInputStream.computeTimeout(BufferInputStream.java:216)
	at org.eclipse.net4j.buffer.BufferInputStream.ensureBuffer(BufferInputStream.java:189)
	at org.eclipse.net4j.buffer.BufferInputStream.read(BufferInputStream.java:116)
	at java.io.DataInputStream.readBoolean(Unknown Source)
	at org.eclipse.net4j.util.io.ExtendedDataInput$Delegating.readBoolean(ExtendedDataInput.java:60)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirmingCheckError(CommitTransactionRequest.java:304)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirming(CommitTransactionRequest.java:290)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirming(CommitTransactionRequest.java:1)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientRequestWithMonitoring.confirming(CDOClientRequestWithMonitoring.java:117)
	at org.eclipse.net4j.signal.RequestWithMonitoring.confirming(RequestWithMonitoring.java:171)
	at org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedInput(RequestWithConfirmation.java:125)
	at org.eclipse.net4j.signal.Signal.doInput(Signal.java:328)
	at org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(RequestWithConfirmation.java:105)
	at org.eclipse.net4j.signal.RequestWithMonitoring.doExecute(RequestWithMonitoring.java:235)
	at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.java:53)
	at org.eclipse.net4j.signal.Signal.runSync(Signal.java:253)
	... 11 more


---------------------------------------------------------

In case it is of use, the server initializes normally with:

---------------------------------------------------------

[INFO] CDO server starting
!SESSION 2013-07-29 10:59:44.943 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Framework arguments:  -product org.eclipse.emf.cdo.server.product.tcp_h2
Command-line arguments:  -product org.eclipse.emf.cdo.server.product.tcp_h2 -data D:\workspace-cdo/../runtime-CDO-Server.product -dev file:D:/workspace-cdo/.metadata/.plugins/org.eclipse.pde.core/CDO-Server.product/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.emf.cdo.server 1 0 2013-07-29 10:59:45.565
!MESSAGE CDO server starting
[WARN] Detected crash of repository demo

!ENTRY org.eclipse.emf.cdo.server.db 2 0 2013-07-29 10:59:46.087
!MESSAGE Detected crash of repository demo
[INFO] Repaired crash of repository demo: lastObjectID=OID2, nextLocalObjectID=OID9223372036854775807, lastBranchID=0, lastCommitTime=1,374,766,710,269, lastNonLocalCommitTime=1,374,766,710,269

!ENTRY org.eclipse.emf.cdo.server.db 1 0 2013-07-29 10:59:46.101
!MESSAGE Repaired crash of repository demo: lastObjectID=OID2, nextLocalObjectID=OID9223372036854775807, lastBranchID=0, lastCommitTime=1,374,766,710,269, lastNonLocalCommitTime=1,374,766,710,269
[INFO] Net4j extension starting

!ENTRY org.eclipse.emf.cdo.server.net4j 1 0 2013-07-29 10:59:46.288
!MESSAGE Net4j extension starting
[INFO] Net4j extension started

!ENTRY org.eclipse.emf.cdo.server.net4j 1 0 2013-07-29 10:59:46.318
!MESSAGE Net4j extension started
[INFO] CDO server started

!ENTRY org.eclipse.emf.cdo.server 1 0 2013-07-29 10:59:46.319
!MESSAGE CDO server started


---------------------------------------------------------

Computer Software Setup:

---------------------------------------------------------

Windows 7 - 64bit
Eclipse Modeling Tools 2.0.0.20130613-0530
with: CDO Model Repository EPP 4.2.0.v20130613-1556
using: Net4j DB Framework MYSQL Adapter 4.2.0.v20130601-1611
running: MySQL server 5.5

---------------------------------------------------------

Config file (cdo-server.xml):

---------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<cdoServer>
 
    <acceptor type="tcp" listenAddr="0.0.0.0" port="2038">
    </acceptor>
 
    <repository name="demo">
 
        <store type="db">
            <mappingStrategy type="horizontal"/>
            <dbAdapter name="mysql"/>
            <dataSource
                class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
                url="jdbc:mysql://localhost:2038/cdotest?createDatabaseIfNotExist=true"
                user="root"
                password="admin"
                />
                <property name="drop" value="true"/>
        </store>
    </repository>
 
</cdoServer>


---------------------------------------------------------

As far as I understand this may be due to an error in communication of the CDO client to the CDO server (unless the server initializes normally but then cannot communicate with the MySQL service). In either case, I do not know how to proceed to solve this.

Please let me know if you need any more diagnostics,

Thank you in advance for any help or pointers to solutions,

Yours faithfully,
Re: [CDO - MySQL] java.util.concurrent.TimeoutException [message #1075396 is a reply to message #1075378] Mon, 29 July 2013 10:56 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5514
Registered: July 2009
Senior Member
Am 29.07.2013 12:23, schrieb Konstantinos Barmpis:
> To whom it may concern,
>
> I am trying to configure CDO-MySQL to a new installation of Kepler (With Eclipse Modeling Tools).
Are you sure that server and clients use the same (versions of the) binaries?

>
> I am able to run the client + server as per the tutorial (http://wiki.eclipse.org/CDO/User_Contributed_Documentation -
> An Introduction to CDO 4.0 (by Vincenzo Caselli, RCPVision)) but when I try to commit a transaction (even one with
> only a single model element in it, either using the CDO session UI, or programmatically) I get:
>
> ---------------------------------------------------------
>
> java.util.concurrent.TimeoutException
Does the server log any warnings or exceptions at the same time?

Can you load/navigate models on your client?

Please try to add the following to the <repository> element of teh cdo-server.xml:

<property name="optimisticLockingTimeout" value="10000"/>

Does that help?

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper



> org.eclipse.emf.cdo.common.util.TransportException: java.util.concurrent.TimeoutException
> at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:526)
> at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.commitTransaction(CDOClientProtocol.java:393)
> at
> org.eclipse.emf.internal.cdo.session.DelegatingSessionProtocol.commitTransaction(DelegatingSessionProtocol.java:292)
> at
> org.eclipse.emf.internal.cdo.transaction.CDOSingleTransactionStrategyImpl.commit(CDOSingleTransactionStrategyImpl.java:72)
> at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:1191)
> at org.eclipse.emf.cdo.internal.ui.editor.CDOEditor$22.run(CDOEditor.java:1845)
> at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
> Caused by: java.util.concurrent.TimeoutException
> at org.eclipse.net4j.util.io.IOTimeoutException.createTimeoutException(IOTimeoutException.java:46)
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:257)
> at org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalProtocol.java:442)
> at org.eclipse.net4j.signal.RequestWithConfirmation.doSend(RequestWithConfirmation.java:89)
> at org.eclipse.net4j.signal.RequestWithConfirmation.send(RequestWithConfirmation.java:75)
> at org.eclipse.net4j.signal.RequestWithMonitoring.send(RequestWithMonitoring.java:110)
> at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:518)
> ... 6 more
> Caused by: org.eclipse.net4j.util.io.IOTimeoutException
> at org.eclipse.net4j.buffer.BufferInputStream.computeTimeout(BufferInputStream.java:216)
> at org.eclipse.net4j.buffer.BufferInputStream.ensureBuffer(BufferInputStream.java:189)
> at org.eclipse.net4j.buffer.BufferInputStream.read(BufferInputStream.java:116)
> at java.io.DataInputStream.readBoolean(Unknown Source)
> at org.eclipse.net4j.util.io.ExtendedDataInput$Delegating.readBoolean(ExtendedDataInput.java:60)
> at
> org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirmingCheckError(CommitTransactionRequest.java:304)
> at org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirming(CommitTransactionRequest.java:290)
> at org.eclipse.emf.cdo.internal.net4j.protocol.CommitTransactionRequest.confirming(CommitTransactionRequest.java:1)
> at
> org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientRequestWithMonitoring.confirming(CDOClientRequestWithMonitoring.java:117)
> at org.eclipse.net4j.signal.RequestWithMonitoring.confirming(RequestWithMonitoring.java:171)
> at org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedInput(RequestWithConfirmation.java:125)
> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:328)
> at org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(RequestWithConfirmation.java:105)
> at org.eclipse.net4j.signal.RequestWithMonitoring.doExecute(RequestWithMonitoring.java:235)
> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.java:53)
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:253)
> ... 11 more
>
> ---------------------------------------------------------
>
> In case it is of use, the server initializes normally with:
>
> ---------------------------------------------------------
>
> [INFO] CDO server starting
> !SESSION 2013-07-29 10:59:44.943 -----------------------------------------------
> eclipse.buildId=unknown
> java.version=1.6.0_25
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
> Framework arguments: -product org.eclipse.emf.cdo.server.product.tcp_h2
> Command-line arguments: -product org.eclipse.emf.cdo.server.product.tcp_h2 -data
> D:\workspace-cdo/../runtime-CDO-Server.product -dev
> file:D:/workspace-cdo/.metadata/.plugins/org.eclipse.pde.core/CDO-Server.product/dev.properties -os win32 -ws win32
> -arch x86_64 -consoleLog
>
> !ENTRY org.eclipse.emf.cdo.server 1 0 2013-07-29 10:59:45.565
> !MESSAGE CDO server starting
> [WARN] Detected crash of repository demo
>
> !ENTRY org.eclipse.emf.cdo.server.db 2 0 2013-07-29 10:59:46.087
> !MESSAGE Detected crash of repository demo
> [INFO] Repaired crash of repository demo: lastObjectID=OID2, nextLocalObjectID=OID9223372036854775807, lastBranchID=0,
> lastCommitTime=1,374,766,710,269, lastNonLocalCommitTime=1,374,766,710,269
>
> !ENTRY org.eclipse.emf.cdo.server.db 1 0 2013-07-29 10:59:46.101
> !MESSAGE Repaired crash of repository demo: lastObjectID=OID2, nextLocalObjectID=OID9223372036854775807,
> lastBranchID=0, lastCommitTime=1,374,766,710,269, lastNonLocalCommitTime=1,374,766,710,269
> [INFO] Net4j extension starting
>
> !ENTRY org.eclipse.emf.cdo.server.net4j 1 0 2013-07-29 10:59:46.288
> !MESSAGE Net4j extension starting
> [INFO] Net4j extension started
>
> !ENTRY org.eclipse.emf.cdo.server.net4j 1 0 2013-07-29 10:59:46.318
> !MESSAGE Net4j extension started
> [INFO] CDO server started
>
> !ENTRY org.eclipse.emf.cdo.server 1 0 2013-07-29 10:59:46.319
> !MESSAGE CDO server started
>
> ---------------------------------------------------------
>
> Computer Software Setup:
>
> ---------------------------------------------------------
>
> Windows 7 - 64bit
> Eclipse Modeling Tools 2.0.0.20130613-0530
> with: CDO Model Repository EPP 4.2.0.v20130613-1556
> using: Net4j DB Framework MYSQL Adapter 4.2.0.v20130601-1611
> running: MySQL server 5.5
>
> ---------------------------------------------------------
>
> Config file (cdo-server.xml):
>
> ---------------------------------------------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <cdoServer>
>
> <acceptor type="tcp" listenAddr="0.0.0.0" port="2038">
> </acceptor>
>
> <repository name="demo">
>
> <store type="db">
> <mappingStrategy type="horizontal"/>
> <dbAdapter name="mysql"/>
> <dataSource
> class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
> url="jdbc:mysql://localhost:2038/cdotest?createDatabaseIfNotExist=true"
> user="root"
> password="admin"
> />
> <property name="drop" value="true"/>
> </store>
> </repository>
>
> </cdoServer>
>
> ---------------------------------------------------------
>
> As far as I understand this may be due to an error in communication of the CDO client to the CDO server (unless the
> server initializes normally but then cannot communicate with the MySQL service). In either case, I do not know how to
> proceed to solve this.
>
> Please let me know if you need any more diagnostics,
>
> Thank you in advance for any help or pointers to solutions,
>
> Yours faithfully,
Re: [CDO - MySQL] java.util.concurrent.TimeoutException [message #1075571 is a reply to message #1075396] Mon, 29 July 2013 16:55 Go to previous messageGo to next message
Konstantinos Barmpis is currently offline Konstantinos Barmpis
Messages: 12
Registered: July 2013
Junior Member
Thank you for your prompt response:

>Does the server log any warnings or exceptions at the same time?

There seems to be no communication at all happening.

>Can you load/navigate models on your client?

I cannot commit any changes so cannot test any model loading or navigation.
Using the CDO Session UI I can virtually add model elements (and nest/navigate them from the editor) but then cannot persist them.

><property name="optimisticLockingTimeout" value="10000"/>

I have added this, and also a similar line in the client app, doesn't seem to help.

For now I am working with the embedded H2 store as it works as expected, but it would be nice to work with MySQL if I can resolve this.
Re: [CDO - MySQL] java.util.concurrent.TimeoutException [message #1075605 is a reply to message #1075571] Mon, 29 July 2013 18:23 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5514
Registered: July 2009
Senior Member
Am 29.07.2013 18:55, schrieb Konstantinos Barmpis:
> Thank you for your prompt response:
>
>> Does the server log any warnings or exceptions at the same time?
>
> There seems to be no communication at all happening.
Hmm, how would that be related to the chosen database type? That only makes sense if the time is really being spent in
Mysql. I wonder if you can debug/step through the server, starting with a breakpoint in
Repository.commit(InternalCommitContext, OMMonitor)...

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper



>
>> Can you load/navigate models on your client?
>
> I cannot commit any changes so cannot test any model loading or navigation.
> Using the CDO Session UI I can virtually add model elements (and nest/navigate them from the editor) but then cannot
> persist them.
>
>> <property name="optimisticLockingTimeout" value="10000"/>
>
> I have added this, and also a similar line in the client app, doesn't seem to help.
>
> For now I am working with the embedded H2 store as it works as expected, but it would be nice to work with MySQL if I
> can resolve this.
Re: [CDO - MySQL] java.util.concurrent.TimeoutException [message #1077175 is a reply to message #1075605] Thu, 01 August 2013 10:32 Go to previous messageGo to next message
Konstantinos Barmpis is currently offline Konstantinos Barmpis
Messages: 12
Registered: July 2013
Junior Member
It would seem that the issue was that both the MySQL server and the CDO server were using the same port, so even though the client could see the server, it could not actually commit data.

It got resolved simply by having them use different ports.

Nevertheless thank you for your help,

Cheers,
Re: [CDO - MySQL] java.util.concurrent.TimeoutException [message #1077206 is a reply to message #1077175] Thu, 01 August 2013 11:16 Go to previous message
Eike Stepper is currently offline Eike Stepper
Messages: 5514
Registered: July 2009
Senior Member
Am 01.08.2013 12:32, schrieb Konstantinos Barmpis:
> It would seem that the issue was that both the MySQL server and the CDO server were using the same port, so even
> though the client could see the server, it could not actually commit data.
>
> It got resolved simply by having them use different ports.
Indeed, that seems obvious :P

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Previous Topic:change generated Validator to ensure that referenced features are valid, too
Next Topic:setting default value of derived propertyi in ecore
Goto Forum:
  


Current Time: Tue Sep 02 21:36:52 GMT 2014

Powered by FUDForum. Page generated in 0.01994 seconds