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.
