If you remove graph.getRawGraph().begin();
Does it work ?

On Tue, Mar 18, 2014 at 5:51 PM, Andrey Lomakin <[email protected]>wrote:

> Yes,
> I need schema could you send me it ?
>
>
> On Tue, Mar 18, 2014 at 5:45 PM, Odysseas <[email protected]> wrote:
>
>> Andrey,
>> I built the latest revision and I am still getting the same behavior. I
>> tried the test code that I had used to identify the previous issue, and it
>> is also not creating any data in my database. Here is the test code below.
>> Did you need a copy of the database?
>> Thanks,
>> Odysseas
>>
>> import java.util.ArrayList;
>> import java.util.HashSet;
>> import java.util.List;
>> import java.util.Set;
>> import java.util.concurrent.Callable;
>> import java.util.concurrent.CountDownLatch;
>> import java.util.concurrent.ExecutorService;
>> import java.util.concurrent.Executors;
>> import java.util.concurrent.Future;
>> import java.util.concurrent.atomic.AtomicBoolean;
>>
>> import junit.framework.TestCase;
>>
>> import com.orientechnologies.orient.core.metadata.schema.OType;
>> import com.orientechnologies.orient.core.record.impl.ODocument;
>> import com.orientechnologies.orient.core.sql.OCommandSQL;
>> import com.tinkerpop.blueprints.impls.orient.OrientGraph;
>> import com.tinkerpop.blueprints.impls.orient.OrientVertex;
>> import com.tinkerpop.blueprints.impls.orient.OrientVertexType;
>>
>> public class TestOrientDbConcurrency extends TestCase
>> {
>>     private final static String DB_URL = "plocal://mnt/sysnet/person-db";
>>     private static final int THREAD_COUNT = 1;
>>
>>     public void testDirtyTxQuery() throws Exception {
>>         OrientGraph graph = new OrientGraph(DB_URL);
>>
>>         OrientVertexType personType = graph.createVertexType("persons");
>>         OrientVertexType addressType =
>> graph.createVertexType("addresses");
>>
>>
>>         final CountDownLatch latch = new CountDownLatch(THREAD_COUNT);
>>         final AtomicBoolean shutdownFlag = new AtomicBoolean(false);
>>
>>         final ExecutorService executorService =
>> Executors.newCachedThreadPool();
>>
>>         List<Future> futures = new ArrayList<Future>();
>>
>>         for (int j=0; j < THREAD_COUNT; j++) {
>>             final Future inserter = executorService.submit(new
>> Callable<Void>()
>>             {
>>
>>                 @Override
>>                 public Void call() throws Exception {
>>                     OrientGraph graph = new OrientGraph(DB_URL);
>>
>>                     int counter = 0;
>>                     graph.getRawGraph().begin();
>>                     while (!shutdownFlag.get()) {
>>                         OrientVertex vertex =
>> graph.addVertex("class:persons");
>>                         vertex.setProperty("firstName", "John"+counter);
>>                         vertex.setProperty("lastName", "Orientdb" +
>> counter);
>>                         Set<OrientVertex> addresses = new
>> HashSet<OrientVertex>();
>>                         for (int i=0; i < 5; i++) {
>>                             OrientVertex aVertex =
>> graph.addVertex("class:addresses");
>>                             aVertex.setProperty("city", "Baltimore");
>>                             aVertex.getRecord().field("person", vertex,
>> com.orientechnologies.orient.core.metadata.schema.OType.LINK);
>>                             addresses.add(aVertex);
>>                         }
>>                         vertex.getRecord().field("addresses", addresses,
>> com.orientechnologies.orient.core.metadata.schema.OType.LINKSET);
>> //                      OrientVertex aVertex =
>> graph.addVertex("class:addresses");
>> //                      aVertex.setProperty("city", "Baltimore");
>> //                      aVertex.getRecord().field("person", vertex,
>>  com.orientechnologies.orient.core.metadata.schema.OType.LINK);
>> //                      aVertex.setProperty("person", vertex);
>> //                      vertex.setProperty("addresses", aVertex);
>>                         counter++;
>>                         executorService.submit(new BlockingUpdate("John",
>> vertex.getIdentity().toString()));
>>                         if (counter % 100 == 0) {
>>                             System.out.println("Saved 100 records by
>> thread: " + Thread.currentThread().getName());
>>                             graph.commit();
>>                         }
>>                     }
>>                     graph.commit();
>>                     return null;
>>                 }
>>             });
>>             futures.add(inserter);
>>         }
>>
>>         final Future fetcher = executorService.submit(new Callable<Void>()
>>         {
>>             @Override
>>             public Void call() throws Exception {
>>                 OrientGraph graph = new OrientGraph(DB_URL);
>>
>>                 while (!shutdownFlag.get())
>>                     graph.command(new OCommandSQL("select count(*) from
>> persons")).execute();
>>
>>                 return null;
>>             }
>>         });
>>
>>         Thread.sleep(30000);
>>
>>         shutdownFlag.set(true);
>>
>>          for (Future future : futures) {
>>             future.get();
>>         }
>>         fetcher.get();
>>     }
>>
>>     public class BlockingUpdate implements Callable<Void> {
>>         private String blockingKeyValue;
>>         private String rid;
>>
>>         public BlockingUpdate(String blockingKeyValue, String rid) {
>>             super();
>>             this.blockingKeyValue = blockingKeyValue;
>>             this.rid = rid;
>>         }
>>
>>         @Override
>>         public Void call() {
>>             try {
>>                 OrientGraph graph = new OrientGraph(DB_URL);
>>                 graph.getRawGraph().begin();
>>                 List<ODocument> docs = graph.getRawGraph().command(new
>> OCommandSQL("select rids from Blockinground-0 where blockingKeyValue = " +
>> blockingKeyValue)).execute();
>>                 if (docs.size() == 0) {
>>                     Set<String> rids = new HashSet<String>();
>>                     rids.add(rid);
>>                     OrientVertex vertex =
>> graph.addVertex("class:Blockinground-0");
>>                     vertex.setProperty("blockingKeyValue",
>> blockingKeyValue);
>>                     vertex.getRecord().field("rids", rids,
>> OType.EMBEDDEDSET);
>>                     vertex.getRecord().save();
>>                     System.out.println("Vertex is now " + vertex);
>>                 } else {
>>                     ODocument doc = docs.get(0);
>>                     Set<String> rids = doc.field("rids");
>>                     rids.add(rid);
>>                     doc.save();
>>                     System.out.println("Doc is now " + doc);
>>                 }
>>
>>                 graph.commit();
>>             } catch (Exception e) {
>>                 System.err.println("Got an exception: " + e);
>>             }
>>             return null;
>>         }
>>     }
>> }
>>
>> On Tuesday, March 18, 2014 8:28:19 AM UTC-4, Andrey Lomakin wrote:
>>
>>> Odysseas,
>>> Could you use distribution from http://helios.orientechnologies.com/job/
>>> orient-maven/lastStableBuild/ it seems like rc2-snapshot is bit out of
>>> date.
>>>
>>> Any way I am looking forward for your test case.
>>>
>>>
>>> On Tue, Mar 18, 2014 at 2:23 PM, Odysseas <[email protected]> wrote:
>>>
>>>> Andrey,
>>>> I'll try to put a test case together and send it to you.
>>>> Thanks,
>>>> Odysseas
>>>>
>>>>
>>>> On Tuesday, March 18, 2014 1:08:54 AM UTC-4, Andrey Lomakin wrote:
>>>>
>>>>> Odysseas,
>>>>> It is because of my fail, could you send me test case here so I will
>>>>> fix it.
>>>>>
>>>>>
>>>>> On Tue, Mar 18, 2014 at 1:56 AM, Odysseas <[email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Using the latest version of 1.7-rc2 we save and commit vertices and
>>>>>> edges and although everything is successful and we are not getting any
>>>>>> errors, there are no records stored in the database. By switching to
>>>>>> 1.7-rc1 the exact same code works just fine. I suspect that this is a 
>>>>>> local
>>>>>> issue since others would have complained about this already but do you 
>>>>>> have
>>>>>> any suggestions as to what we may be doing wrong?
>>>>>>
>>>>>> Thanks,
>>>>>> Odysseas
>>>>>>
>>>>>> --
>>>>>>
>>>>>> ---
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Andrey Lomakin.
>>>>>
>>>>> Orient Technologies
>>>>> the Company behind OrientDB
>>>>>
>>>>>   --
>>>>
>>>> ---
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Andrey Lomakin.
>>>
>>> Orient Technologies
>>> the Company behind OrientDB
>>>
>>>   --
>>
>> ---
>> 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.
>>
>
>
>
> --
> Best regards,
> Andrey Lomakin.
>
> Orient Technologies
> the Company behind OrientDB
>
>


-- 
Best regards,
Andrey Lomakin.

Orient Technologies
the Company behind OrientDB

-- 

--- 
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.

Reply via email to