Hi,
I am testing the new 1.7 release, and my previous test still doesn't pass
with the same stacktrace. What is the correct way to dynamically create
classes in an embedded distributed environment ?
Le mercredi 16 avril 2014 09:16:17 UTC+2, Jérémie Brébec a écrit :
>
> The test work if i do the same thing as your correction, but ideally i
> prefer my code not to be dependent of the running mode (distributed or
> not), i don't know if it's possible ?
>
> @Test
> public void testCreateClass() {
> OrientGraphFactory factory = new OrientGraphFactory(
> "plocal:target/testdb");
> OrientGraphNoTx graph = factory.getNoTx();
> try {
> OScenarioThreadLocal.INSTANCE.set(OScenarioThreadLocal.RUN_MODE.
> RUNNING_DISTRIBUTED);
> graph.getRawGraph().getMetadata().getSchema().createClass("MyClass");
> } finally {
> graph.shutdown();
> }
> }
>
>
> Le mercredi 16 avril 2014 09:11:57 UTC+2, Jérémie Brébec a écrit :
>>
>> hi,
>>
>> thank for the correction.
>> The previous test pass, but the one in my first post doesn't work yet :
>>
>> @Test
>> public void testCreateClass() {
>> OrientGraphFactory factory = new OrientGraphFactory(
>> "plocal:target/testdb");
>> OrientGraphNoTx graph = factory.getNoTx();
>> try {
>> graph.getRawGraph().getMetadata().getSchema().createClass("MyClass"
>> );
>> } finally {
>> graph.shutdown();
>> }
>> }
>>
>>
>> Exception :
>> Quorum 1 not reached for request=id=0 from=node1397631982351 task=
>> command_sql(create class MyClass cluster 11). Servers in timeout/conflict
>> are: no server in conflict. Received: {node1397631982351=waiting-for-
>> response}
>> -> com.orientechnologies.orient.server.hazelcast.
>> OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.
>> java:164)
>> -> com.orientechnologies.orient.server.hazelcast.
>> OHazelcastDistributedDatabase.send(OHazelcastDistributedDatabase.java:180
>> )
>> -> com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.
>> sendRequest(OHazelcastPlugin.java:356)
>> -> com.orientechnologies.orient.server.distributed.ODistributedStorage.
>> sendRequest(ODistributedStorage.java:777)
>> -> com.orientechnologies.orient.server.distributed.ODistributedStorage.
>> command(ODistributedStorage.java:176)
>> -> com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.
>> execute(OCommandRequestTextAbstract.java:59)
>> -> com.orientechnologies.orient.core.metadata.schema.OSchemaShared.
>> createClass(OSchemaShared.java:242)
>> -> com.orientechnologies.orient.core.metadata.schema.OSchemaShared.
>> createClass(OSchemaShared.java:153)
>> -> com.orientechnologies.orient.core.metadata.schema.OSchemaShared.
>> createClass(OSchemaShared.java:145)
>> -> com.orientechnologies.orient.core.metadata.schema.OSchemaShared.
>> createClass(OSchemaShared.java:129)
>> -> com.orientechnologies.orient.core.metadata.schema.OSchemaProxy.
>> createClass(OSchemaProxy.java:
>>
>>
>>
>>
>> Le mardi 15 avril 2014 19:58:01 UTC+2, Lvc@ a écrit :
>>
>> You was right. Fixed in "develop" branch, in few minutes in 1.7-snapshot.
>>
>> Lvc@
>>
>>
>>
>> On 15 April 2014 19:01, Luca Garulli <[email protected]> wrote:
>>
>> Ok, let me try your use case (thank to provide it).
>>
>> Lvc@
>>
>>
>>
>> On 15 April 2014 18:58, Jérémie Brébec <[email protected]> wrote:
>>
>> pom.properties indicates (orientdb-distributed-1.7-SNAPSHOT.jar) :
>>
>> #Generated by Maven
>> #Mon Apr 14 20:48:56 EDT 2014
>>
>> Le mardi 15 avril 2014 18:53:23 UTC+2, Lvc@ a écrit :
>>
>> Hi,
>> I fixed this bug yesterday. Are you sure to have an updated snapshot?
>>
>> Lvc@
>>
>>
>> On 15 April 2014 16:44, Jérémie Brébec <[email protected]> wrote:
>>
>>
>> Any hints on this ? ;-)
>>
>> I can reproduce this behavior with the following JUnit Test and the
>> latest 1.7-SNAPSHOT :
>>
>> public class TestDistributed {
>>
>>
>> private OServer server;
>>
>> public static class StandaloneHazelcastPlugin extends OHazelcastPlugin
>> {
>>
>> @Override
>> protected HazelcastInstance configureHazelcast() throws
>> FileNotFoundException {
>> return Hazelcast.newHazelcastInstance();
>> }
>>
>> @Override
>> protected ODocument loadDatabaseConfiguration(String iDatabaseName,
>> File file) {
>> ODocument doc = new ODocument();
>> doc.field("replication", true)
>> .field("autoDeploy", true)
>> .field("hotAlignment", true)
>> .field("resyncEvery", 15)
>> .field("clusters", new ODocument()
>> .field("internal", new ODocument().field("replication", false))
>> .field("index", new ODocument().field("replication", false))
>> .field("*", new ODocument()
>> .field("replication", true)
>> .field("readQuorum", 1)
>> .field("writeQuorum", 1)
>> .field("failureAvailableNodesLessQuorum", false)
>> .field("readYourWrites", true)
>> .field("partitioning", new ODocument()
>> .field("strategy", "round-robin")
>> .field("default", 0)
>> .field("partitions", Collections.singletonList(new ArrayList<
>> String>(Collections.singletonList("<NEW_NODE>")))))));
>>
>> return doc;
>> }
>> }
>>
>> @Before
>> public void setUp() throws Exception {
>> File target = new File("target/testdb");
>> OFileUtils.deleteRecursively(target);
>> target.mkdirs();
>>
>> server = OServerMain.create();
>> server.startup("<orient-server>"
>> + "<handlers>"
>> + "<handler class=\"" + StandaloneHazelcastPlugin.class.getName()
>> + "\">"
>> + "<parameters>"
>> + "<parameter name=\"enabled\" value=\"true\" />"
>> + "<parameter name=\"sharding.strategy.round-robin\"
>> value=\"com.orientechnologies.orient.server.hazelcast.sharding.strategy.
>> ORoundRobinPartitioninStrategy\" />"<spa
>>
>> ...
>
>
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.