Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] Problem running clone example
[CDO] Problem running clone example [message #968050] Fri, 02 November 2012 06:56 Go to next message
Jan Rosczak is currently offline Jan RosczakFriend
Messages: 53
Registered: July 2009
Location: Hamburg, Germany
Member
Hi,

I am trying to run the clone example from CDO 4.2-M2 using the bundles org.eclipse.emf.cdo.examples.master and org.eclipse.emf.cdo.examples.clone.

I changed the configuration of the master server as follows:
 <property name="overrideUUID" value=""/>
 <property name="supportingAudits" value="true"/>
 <property name="supportingBranches" value="true"/>
 <property name="supportingEcore" value="false"/>
 <property name="ensureReferentialIntegrity" value="false"/>
 <property name="allowInterruptRunningQueries" value="true"/>
 <property name="idGenerationLocation" value="CLIENT"/> 


Then I start the master server with an empty database and when starting the clone server with an empty database the clone throws an exception:
[WARN] Replication attempt failed. Retrying in 2 seconds...
org.eclipse.emf.cdo.common.util.TransportException: java.io.UTFDataFormatException: malformed input around byte 3
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:526)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.replicateRepositoryRaw(CDOClientProtocol.java:450)
	at org.eclipse.emf.cdo.internal.server.syncing.RepositorySynchronizer$ReplicateRunnable.run(RepositorySynchronizer.java:449)
	at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26)
	at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1)
	at org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:88)
	at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:79)
	at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)
Caused by: java.io.UTFDataFormatException: malformed input around byte 3
	at java.io.DataInputStream.readUTF(Unknown Source)
	at java.io.DataInputStream.readUTF(Unknown Source)
	at org.eclipse.net4j.util.io.ExtendedIOUtil.readString(ExtendedIOUtil.java:201)
	at org.eclipse.net4j.util.io.ExtendedDataInputStream.readString(ExtendedDataInputStream.java:36)
	at org.eclipse.net4j.util.io.ExtendedDataInput$Delegating.readString(ExtendedDataInput.java:135)
	at org.eclipse.net4j.db.DBType$13.readValueWithResult(DBType.java:440)
	at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:1004)
	at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:944)
	at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.rawImport(DBStoreAccessor.java:1142)
	at org.eclipse.emf.cdo.internal.server.syncing.SynchronizableRepository.replicateRaw(SynchronizableRepository.java:352)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.java:45)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.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)


What am I doing wrong?

Another thing: I understood that the clone needs branching support, but does the master also need branching support and if yes, I would like to know why.

Thanks

//Jan
Re: [CDO] Problem running clone example [message #968116 is a reply to message #968050] Fri, 02 November 2012 07:53 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 02.11.2012 07:56, schrieb Jan Rosczak:
> Hi,
>
> I am trying to run the clone example from CDO 4.2-M2 using the bundles org.eclipse.emf.cdo.examples.master and
> org.eclipse.emf.cdo.examples.clone.
>
> I changed the configuration of the master server as follows:
>
> <property name="overrideUUID" value=""/>
> <property name="supportingAudits" value="true"/>
> <property name="supportingBranches" value="true"/>
> <property name="supportingEcore" value="false"/>
> <property name="ensureReferentialIntegrity" value="false"/>
> <property name="allowInterruptRunningQueries" value="true"/>
> <property name="idGenerationLocation" value="CLIENT"/>
>
> Then I start the master server with an empty database and when starting the clone server with an empty database the
> clone throws an exception:
>
> [WARN] Replication attempt failed. Retrying in 2 seconds...
> org.eclipse.emf.cdo.common.util.TransportException: java.io.UTFDataFormatException: malformed input around byte 3
Normally this (or similar protocol problems) are caused by server and clients not using the exact same version/build.
I've recently implemented:

259086: Protocol versions should be checked
https://bugs.eclipse.org/bugs/show_bug.cgi?id=259086

But one of your peers may still be running an older version.

There's a minor potential for a string encoding defect. What charsets are you using?

> at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:526)
> at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.replicateRepositoryRaw(CDOClientProtocol.java:450)
> at
> org.eclipse.emf.cdo.internal.server.syncing.RepositorySynchronizer$ReplicateRunnable.run(RepositorySynchronizer.java:449)
> at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26)
> at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1)
> at org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:88)
> at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:79)
> at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)
> Caused by: java.io.UTFDataFormatException: malformed input around byte 3
> at java.io.DataInputStream.readUTF(Unknown Source)
> at java.io.DataInputStream.readUTF(Unknown Source)
> at org.eclipse.net4j.util.io.ExtendedIOUtil.readString(ExtendedIOUtil.java:201)
> at org.eclipse.net4j.util.io.ExtendedDataInputStream.readString(ExtendedDataInputStream.java:36)
> at org.eclipse.net4j.util.io.ExtendedDataInput$Delegating.readString(ExtendedDataInput.java:135)
> at org.eclipse.net4j.db.DBType$13.readValueWithResult(DBType.java:440)
> at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:1004)
> at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:944)
> at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.rawImport(DBStoreAccessor.java:1142)
> at
> org.eclipse.emf.cdo.internal.server.syncing.SynchronizableRepository.replicateRaw(SynchronizableRepository.java:352)
> at
> org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.java:45)
> at
> org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.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)
>
>
> What am I doing wrong?
>
> Another thing: I understood that the clone needs branching support, but does the master also need branching support
> and if yes, I would like to know why.
Theoretically it wouldn't need branching if you actually don't use branches other than the main branch. But I doubt that
I added support for disabling branching explicitely. The consequence is that, for now, you get an extra integer column
in each attribute table.

Cheers
/Eike

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


Re: [CDO] Problem running clone example [message #968138 is a reply to message #968116] Fri, 02 November 2012 08:11 Go to previous messageGo to next message
Jan Rosczak is currently offline Jan RosczakFriend
Messages: 53
Registered: July 2009
Location: Hamburg, Germany
Member
Hi,

I checked the versions of both, they are started from within the same Eclipse instance and the versions look ok to me.

Do you mean the platform encoding? I guess it is CP1252, as I am running on Windows 7.

Do you mean by "support for disabling branches explicitly", setting "supportingBranches" to false in the master configuration is not supported for offline clones?

Cheers
/Jan
Re: [CDO] Problem running clone example [message #968147 is a reply to message #968138] Fri, 02 November 2012 08:20 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 02.11.2012 09:11, schrieb Jan Rosczak:
> Hi,
>
> I checked the versions of both, they are started from within the same Eclipse instance and the versions look ok to me.
>
> Do you mean the platform encoding? I guess it is CP1252, as I am running on Windows 7.
Let me play with an offline setup to see if we have a regression that's not covered by the tests...

> Do you mean by "support for disabling branches explicitly", setting "supportingBranches" to false in the master
> configuration is not supported for offline clones?
Yes, that's what I mean. You can try, but I really think that it's not supported. It could be, though. As kind of an
optimization.

Cheers
/Eike

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


Re: [CDO] Problem running clone example [message #969900 is a reply to message #968050] Sat, 03 November 2012 17:11 Go to previous messageGo to next message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
Hello,

I have an issue with the clone example as well.

If I start an empty .master server, and I start the .clone server, I get:

State changed from OFFLINE to SYNCING
[WARN] Replication attempt failed. Retrying in 2 seconds...
org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Table EOBJECT not found; SQL statement:
UPDATE EObject SET cdo_revised=? WHERE cdo_id=? AND cdo_branch=? AND cdo_version=? [42102-117]
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingMappingStrategy.rawImportReviseOldRevisions(HorizontalBranchingMappingStrategy.java:166)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalMappingStrategy.rawImport(AbstractHorizontalMappingStrategy.java:236)
	at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.rawImport(DBStoreAccessor.java:1151)
	at org.eclipse.emf.cdo.internal.server.syncing.SynchronizableRepository.replicateRaw(SynchronizableRepository.java:352)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.java:45)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.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)
	at org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalProtocol.java:440)
	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)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.replicateRepositoryRaw(CDOClientProtocol.java:450)
	at org.eclipse.emf.cdo.internal.server.syncing.RepositorySynchronizer$ReplicateRunnable.run(RepositorySynchronizer.java:449)
	at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26)
	at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1)
	at org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:88)
	at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:79)
	at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)


I have tried to install version 4.1, but with that, the master server doesn't start, throwing:

app thread - org.eclipse.emf.cdo.server.app.0 [debug.repository] Configuring repository repo1 (type=default)
[ERROR] Store factory not found: db
java.lang.IllegalStateException: Store factory not found: db
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.getStoreFactory(RepositoryConfigurator.java:281)
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.createStore(RepositoryConfigurator.java:291)
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.getRepository(RepositoryConfigurator.java:164)
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:106)
	at org.eclipse.emf.cdo.internal.server.bundle.CDOServerApplication.doStart(CDOServerApplication.java:61)
	at org.eclipse.net4j.util.om.OSGiApplication.start(OSGiApplication.java:63)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.equinox.internal.app.AnyThreadAppLauncher.run(AnyThreadAppLauncher.java:26)
	at java.lang.Thread.run(Unknown Source)
main [debug.om] Stopping bundle org.eclipse.emf.cdo.server


Thanks in advance for any hints.

Best regards,
Cristian.
Re: [CDO] Problem running clone example [message #969909 is a reply to message #969900] Sat, 03 November 2012 17:21 Go to previous messageGo to next message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
UPDATE:
I realize that I forgot to set idGenerationLocation to CLIENT. After setting it, I have the same issue as Jan.
Re: [CDO] Problem running clone example [message #969953 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12179" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 246 times)


Re: [CDO] Problem running clone example [message #969958 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12180" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 233 times)


Re: [CDO] Problem running clone example [message #969963 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12181" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 231 times)


Re: [CDO] Problem running clone example [message #969968 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12182" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 228 times)


Re: [CDO] Problem running clone example [message #969975 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12183" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 264 times)


Re: [CDO] Problem running clone example [message #969981 is a reply to message #969909] Sat, 03 November 2012 18:07 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Am 03.11.2012 18:21, schrieb Cristian Mising name:<br>
<blockquote cite="mid:k73jr4$4mt$1@xxxxxxxxe.org" type="cite">UPDATE:
<br>
I realize that I forgot to set idGenerationLocation to CLIENT.
After setting it, I have the same issue as Jan.
<br>
</blockquote>
I've already fixed the way the cdo-server.xml gets copied. Now
supportingEcore is set to false and the idGenerationLocation to
CLIENT.<br>
<br>
I'm also working on a larger RCP based example suite:<br>
<img src="http://www.eclipse.org/forums/index.php?t=getfile&amp;id=12184" alt=""><br>
<br>
It'll be available sometime next week...<br>
<br>
Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
  • Attachment: fehabdjd.png
    (Size: 20.58KB, Downloaded 237 times)


Re: [CDO] Problem running clone example [message #970194 is a reply to message #969981] Sat, 03 November 2012 22:50 Go to previous messageGo to next message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
Thanks for the excellent news!

I'm looking forward to the running the new example. The screenshot looks very... tempting/teasing Smile

Best regards,
Cristian.
Re: [CDO] Problem running clone example [message #980060 is a reply to message #968050] Sun, 11 November 2012 10:08 Go to previous messageGo to next message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
I am moving back here the discussion/ 2 posts related to this discussion:

Infinite loop on client: Open Session, Open Session, etc:
http://www.eclipse.org/forums/index.php/mv/msg/433382/978704/#msg_978704

Eike cannot reproduce the issue:
http://www.eclipse.org/forums/index.php/mv/msg/433382/979929/#msg_979929

After doing a little bit of debug, I realize that's the same issue as Jan's. But in my case I see that the trace is disabled so the exception is hidden:

Opened Session41 [repo1]
org.eclipse.emf.cdo.common.util.TransportException: java.io.UTFDataFormatException: malformed input around byte 5
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:526)
	at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.replicateRepositoryRaw(CDOClientProtocol.java:450)
	at org.eclipse.emf.cdo.internal.server.syncing.RepositorySynchronizer$ReplicateRunnable.run(RepositorySynchronizer.java:434)
	at org.eclipse.net4j.util.concurrent.QueueRunner2.work(QueueRunner2.java:26)
	at org.eclipse.net4j.util.concurrent.QueueRunner2.work(QueueRunner2.java:1)
	at org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:88)
	at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:79)
	at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)
Caused by: java.io.UTFDataFormatException: malformed input around byte 5
	at java.io.DataInputStream.readUTF(DataInputStream.java:648)
	at java.io.DataInputStream.readUTF(DataInputStream.java:564)
	at org.eclipse.net4j.util.io.ExtendedIOUtil.readString(ExtendedIOUtil.java:202)
	at org.eclipse.net4j.util.io.ExtendedDataInputStream.readString(ExtendedDataInputStream.java:36)
	at org.eclipse.net4j.util.io.ExtendedDataInput$Delegating.readString(ExtendedDataInput.java:135)
	at org.eclipse.net4j.db.DBType$13.readValueWithResult(DBType.java:440)
	at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:1011)
	at org.eclipse.net4j.db.DBUtil.deserializeTable(DBUtil.java:951)
	at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.rawImport(DBStoreAccessor.java:1152)
	at org.eclipse.emf.cdo.internal.server.syncing.SynchronizableRepository.replicateRaw(SynchronizableRepository.java:356)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.java:45)
	at org.eclipse.emf.cdo.internal.net4j.protocol.ReplicateRepositoryRawRequest.confirming(ReplicateRepositoryRawRequest.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)
	at org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalProtocol.java:431)
	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)
	... 7 more


Best regards,
Cristian.
Re: [CDO] Problem running clone example [message #980108 is a reply to message #980060] Sun, 11 November 2012 11:02 Go to previous messageGo to next message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
Dear Eike,

What I discovered until now:

I see that the exception always happens after processing the DataInput that looks like this. I mean, this is processed ok, but the next invocation of ExtendedIOUtil.readString(DataInput) would throw the exception. The DataInput seems to be empty.

[h, t, t, p, :, /, /, w, w, w, ., e, c, l, i, p, s, e, ., o, r, g, /, e, m, f, /, C, D, O, /, E, r, e, s, o, u, r, c, e, /, 4, ., 0, ., 0,

Daemon Thread [CDORepositorySynchronizer] (Suspended)	
	owns: Object  (id=41)	
	ExtendedIOUtil.readString(DataInput) line: 192	
	ExtendedDataInputStream.readString() line: 36	
	CDOClientRequestWithMonitoring$2(ExtendedDataInput$Delegating).readString() line: 135	
	StringCompressor.readString(ExtendedDataInput) line: 330	
	StringCompressor.read(ExtendedDataInput) line: 175	
	CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageURI() line: 159	
	CDOPackageInfoImpl.read(CDODataInput) line: 90	
	CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageInfo() line: 153	
	CDOPackageUnitImpl.read(CDODataInput, ResourceSet) line: 316	
	CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageUnit(ResourceSet) line: 124	
	CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageUnits(ResourceSet) line: 139	
	OpenSessionRequest.confirming(CDODataInput, OMMonitor) line: 223	
	OpenSessionRequest.confirming(CDODataInput, OMMonitor) line: 1	
	OpenSessionRequest(CDOClientRequestWithMonitoring<RESULT>).confirming(ExtendedDataInputStream, OMMonitor) line: 117	
	OpenSessionRequest(RequestWithMonitoring<RESULT>).confirming(ExtendedDataInputStream) line: 171	
	OpenSessionRequest(RequestWithConfirmation<RESULT>).doExtendedInput(ExtendedDataInputStream) line: 125	
	OpenSessionRequest(Signal).doInput(BufferInputStream) line: 328	
	OpenSessionRequest(RequestWithConfirmation<RESULT>).doExecute(BufferInputStream, BufferOutputStream) line: 105	
	OpenSessionRequest(RequestWithMonitoring<RESULT>).doExecute(BufferInputStream, BufferOutputStream) line: 235	
	OpenSessionRequest(SignalActor).execute(BufferInputStream, BufferOutputStream) line: 53	
	OpenSessionRequest(Signal).runSync() line: 253	
	CDOClientProtocol(SignalProtocol<INFRA_STRUCTURE>).startSignal(SignalActor, long) line: 431	
	OpenSessionRequest(RequestWithConfirmation<RESULT>).doSend(long) line: 89	
	OpenSessionRequest(RequestWithConfirmation<RESULT>).send() line: 75	
	OpenSessionRequest(RequestWithMonitoring<RESULT>).send() line: 97	
	CDOClientProtocol.send(RequestWithConfirmation<RESULT>) line: 502	
	CDOClientProtocol.openSession(String, String, boolean, CDOCommonSession$Options$PassiveUpdateMode, CDOCommonSession$Options$LockNotificationMode) line: 109	
	CDONet4jSessionImpl.openSession() line: 227	
	CDONet4jSessionImpl.doActivate() line: 125	
	CDONet4jSessionImpl(Lifecycle).internalActivate() line: 76	
	CDONet4jSessionImpl(ShareableLifecycle).internalActivate() line: 43	
	CDONet4jSessionImpl(Lifecycle).activate() line: 162	
	CDONet4jSessionConfigurationImpl(CDOSessionConfigurationImpl).openSession() line: 310	
	CDONet4jSessionConfigurationImpl.openNet4jSession() line: 104	
	CDONet4jSessionConfigurationImpl.openSession() line: 110	
	CDONet4jSessionConfigurationImpl.openSession() line: 1	
	RepositorySynchronizer$ConnectRunnable.run() line: 353	
	RepositorySynchronizer(QueueRunner2<T>).work(WorkContext, T) line: 26	
	RepositorySynchronizer(QueueRunner2<T>).work(Worker$WorkContext, Object) line: 1	
	RepositorySynchronizer(QueueWorker<E>).doWork(Worker$WorkContext) line: 88	
	RepositorySynchronizer(QueueWorker<E>).work(Worker$WorkContext) line: 79	
	Worker$WorkerThread.run() line: 206	


Another thing, or question: I see that each time the client tries to reconnect:

...
Opened Session77 [repo1]
Opened Session78 [repo1]
...

it creates new threads:

...
Daemon Thread [Net4jReceiveSerializer-Channel[77, CLIENT, cdo]] (Suspended)
Daemon Thread [Net4jReceiveSerializer-Channel[78, CLIENT, cdo]] (Suspended)
...

but after the exception happens, the threads don't disappear, and they seem to enter in sleep, both client and server.

...
Daemon Thread [Net4jReceiveSerializer-Channel[77, SERVER, cdo]] (Running)
Daemon Thread [Net4jReceiveSerializer-Channel[78, SERVER, cdo]] (Running)
...

I think that the connection with the server is somehow not ended properly. If I'm not mistaking, this scenario, with a client failing in this way, could kill a production server, suffocating it with a lot of threads.

As this not happens on your setup, can you give me some hints regarding where I could put breakpoints and what should I look for?

Best regards,
Cristian.
Re: [CDO] Problem running clone example [message #980179 is a reply to message #980108] Sun, 11 November 2012 12:25 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 11.11.2012 12:02, schrieb Cristian Mising name:
> Dear Eike,
>
> What I discovered until now:
>
> I see that the exception always happens after processing the DataInput that looks like this. I mean, this is processed
> ok, but the next invocation of ExtendedIOUtil.readString(DataInput) would throw the exception. The DataInput seems to
> be empty.
Thanks for the infos. Can you please submit a bugzilla? I'm currently analyzing another strange effect with fail-over
replication. Thanks to the new example suite it's very easy now to play with the stuff and see issues we've not covered
in the tests. Of course this may take a while...

Cheers
/Eike

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


>
> [h, t, t, p, :, /, /, w, w, w, ., e, c, l, i, p, s, e, ., o, r, g, /, e, m, f, /, C, D, O, /, E, r, e, s, o, u, r, c,
> e, /, 4, ., 0, ., 0,
>
> Daemon Thread [CDORepositorySynchronizer] (Suspended)
> owns: Object (id=41)
> ExtendedIOUtil.readString(DataInput) line: 192
> ExtendedDataInputStream.readString() line: 36
> CDOClientRequestWithMonitoring$2(ExtendedDataInput$Delegating).readString() line: 135
> StringCompressor.readString(ExtendedDataInput) line: 330
> StringCompressor.read(ExtendedDataInput) line: 175
> CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageURI() line: 159
> CDOPackageInfoImpl.read(CDODataInput) line: 90
> CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageInfo() line: 153
> CDOPackageUnitImpl.read(CDODataInput, ResourceSet) line: 316
> CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageUnit(ResourceSet) line: 124
> CDOClientRequestWithMonitoring$2(CDODataInputImpl).readCDOPackageUnits(ResourceSet) line: 139
> OpenSessionRequest.confirming(CDODataInput, OMMonitor) line: 223
> OpenSessionRequest.confirming(CDODataInput, OMMonitor) line: 1
> OpenSessionRequest(CDOClientRequestWithMonitoring<RESULT>).confirming(ExtendedDataInputStream, OMMonitor) line: 117
> OpenSessionRequest(RequestWithMonitoring<RESULT>).confirming(ExtendedDataInputStream) line: 171
> OpenSessionRequest(RequestWithConfirmation<RESULT>).doExtendedInput(ExtendedDataInputStream) line: 125
> OpenSessionRequest(Signal).doInput(BufferInputStream) line: 328
> OpenSessionRequest(RequestWithConfirmation<RESULT>).doExecute(BufferInputStream, BufferOutputStream) line: 105
> OpenSessionRequest(RequestWithMonitoring<RESULT>).doExecute(BufferInputStream, BufferOutputStream) line: 235
> OpenSessionRequest(SignalActor).execute(BufferInputStream, BufferOutputStream) line: 53
> OpenSessionRequest(Signal).runSync() line: 253
> CDOClientProtocol(SignalProtocol<INFRA_STRUCTURE>).startSignal(SignalActor, long) line: 431
> OpenSessionRequest(RequestWithConfirmation<RESULT>).doSend(long) line: 89
> OpenSessionRequest(RequestWithConfirmation<RESULT>).send() line: 75
> OpenSessionRequest(RequestWithMonitoring<RESULT>).send() line: 97
> CDOClientProtocol.send(RequestWithConfirmation<RESULT>) line: 502
> CDOClientProtocol.openSession(String, String, boolean, CDOCommonSession$Options$PassiveUpdateMode,
> CDOCommonSession$Options$LockNotificationMode) line: 109
> CDONet4jSessionImpl.openSession() line: 227
> CDONet4jSessionImpl.doActivate() line: 125
> CDONet4jSessionImpl(Lifecycle).internalActivate() line: 76
> CDONet4jSessionImpl(ShareableLifecycle).internalActivate() line: 43
> CDONet4jSessionImpl(Lifecycle).activate() line: 162
> CDONet4jSessionConfigurationImpl(CDOSessionConfigurationImpl).openSession() line: 310
> CDONet4jSessionConfigurationImpl.openNet4jSession() line: 104
> CDONet4jSessionConfigurationImpl.openSession() line: 110
> CDONet4jSessionConfigurationImpl.openSession() line: 1
> RepositorySynchronizer$ConnectRunnable.run() line: 353
> RepositorySynchronizer(QueueRunner2<T>).work(WorkContext, T) line: 26
> RepositorySynchronizer(QueueRunner2<T>).work(Worker$WorkContext, Object) line: 1
> RepositorySynchronizer(QueueWorker<E>).doWork(Worker$WorkContext) line: 88
> RepositorySynchronizer(QueueWorker<E>).work(Worker$WorkContext) line: 79
> Worker$WorkerThread.run() line: 206
>
>
> Another thing, or question: I see that each time the client tries to reconnect:
>
> ..
> Opened Session77 [repo1]
> Opened Session78 [repo1]
> ..
>
> it creates new threads:
>
> ..
> Daemon Thread [Net4jReceiveSerializer-Channel[77, CLIENT, cdo]] (Suspended)
> Daemon Thread [Net4jReceiveSerializer-Channel[78, CLIENT, cdo]] (Suspended)
> ..
>
> but after the exception happens, the threads don't disappear, and they seem to enter in sleep, both client and server.
>
> ..
> Daemon Thread [Net4jReceiveSerializer-Channel[77, SERVER, cdo]] (Running)
> Daemon Thread [Net4jReceiveSerializer-Channel[78, SERVER, cdo]] (Running)
> ..
>
> I think that the connection with the server is somehow not ended properly. If I'm not mistaking, this scenario, with a
> client failing in this way, could kill a production server, suffocating it with a lot of threads.
>
> As this not happens on your setup, can you give me some hints regarding where I could put breakpoints and what should
> I look for?
>
> Best regards,
> Cristian.


Re: [CDO] Problem running clone example [message #980264 is a reply to message #980179] Sun, 11 November 2012 14:02 Go to previous message
Cristian Spiescu is currently offline Cristian SpiescuFriend
Messages: 100
Registered: July 2009
Senior Member
Done that.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=394049

Thanks.

Best regards,
Cristian.
Previous Topic:[CDO/Dawn] Cannot retrieve resources created via a ResourceSet
Next Topic:Global EPackage registry and Resource loading
Goto Forum:
  


Current Time: Fri Apr 19 19:08:30 GMT 2024

Powered by FUDForum. Page generated in 0.04353 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top