Here you go: https://github.com/orientechnologies/orientdb/issues/2135
On Monday, March 17, 2014 1:22:27 PM UTC-4, Andrey Lomakin wrote: > > Go to https://github.com/orientechnologies/orientdb/issues , the rest is > obvious :-) > > > On Mon, Mar 17, 2014 at 7:19 PM, Dodong Juan <[email protected]<javascript:> > > wrote: > >> Just show my how .. >> >> >> On Monday, March 17, 2014 1:15:36 PM UTC-4, Andrey Lomakin wrote: >> >>> Thank you very much I will look on it tomorrow. >>> Meanwhile do not you mind to create issue so I will start to work on it ? >>> >>> >>> >>> On Mon, Mar 17, 2014 at 7:08 PM, Dodong Juan <[email protected]> wrote: >>> >>>> TestNode is define this way >>>> >>>> create class TestNode extends V >>>> >>>> create property TestNode.uuid String >>>> >>>> create index TestNode.index on TestNode(uuid) UNIQUE >>>> >>>> >>>> >>>> On Monday, March 17, 2014 1:05:21 PM UTC-4, Dodong Juan wrote: >>>>> >>>>> A quick code .. >>>>> >>>>> >>>>> >>>>> >>>>> import java.util.HashMap; >>>>> >>>>> import java.util.concurrent.BlockingQueue; >>>>> >>>>> import java.util.concurrent.LinkedBlockingQueue; >>>>> >>>>> import java.util.concurrent.ThreadPoolExecutor; >>>>> >>>>> import java.util.concurrent.TimeUnit; >>>>> >>>>> >>>>> import com.tinkerpop.blueprints.Vertex; >>>>> >>>>> import com.tinkerpop.blueprints.impls.orient.OrientBaseGraph; >>>>> >>>>> import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory; >>>>> >>>>> import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx; >>>>> >>>>> import com.tinkerpop.blueprints.impls.orient.OrientVertex; >>>>> >>>>> >>>>> public class TestConnection >>>>> >>>>> { >>>>> >>>>> >>>>> private static final String url = "remote:localhost/testdb"; >>>>> >>>>> private static final String user = "admin"; >>>>> >>>>> private static final String pass = "admin"; >>>>> >>>>> >>>>> OrientGraphFactory graphFactory; >>>>> >>>>> >>>>> private static final ThreadLocal<OrientGraphNoTx> graphNoTx = >>>>> newThreadLocal<OrientGraphNoTx>() >>>>> ; >>>>> >>>>> private int counter = 0; >>>>> >>>>> >>>>> public TestConnection() >>>>> >>>>> { >>>>> >>>>> graphFactory = new OrientGraphFactory(url, user, pass); >>>>> >>>>> } >>>>> >>>>> >>>>> public OrientGraphNoTx getDB() >>>>> >>>>> { >>>>> >>>>> if (graphNoTx.get() == null) >>>>> >>>>> { >>>>> >>>>> graphNoTx.set(graphFactory.getNoTx()); >>>>> >>>>> } >>>>> >>>>> >>>>> return graphNoTx.get(); >>>>> >>>>> } >>>>> >>>>> >>>>> public synchronized String getId() >>>>> >>>>> { >>>>> >>>>> counter++; >>>>> >>>>> return "ID: " + counter; >>>>> >>>>> } >>>>> >>>>> >>>>> public Vertex query(OrientBaseGraph graph, String uuid) >>>>> >>>>> { >>>>> >>>>> Vertex ret = null; >>>>> >>>>> >>>>> Object rec = graph.getRawGraph().getMetadata().getIndexManager(). >>>>> getIndex("TestNode.index").get(uuid); >>>>> >>>>> >>>>> if (rec != null) >>>>> >>>>> { >>>>> >>>>> ret = graph.getVertex(rec); >>>>> >>>>> } >>>>> >>>>> >>>>> return ret; >>>>> >>>>> } >>>>> >>>>> >>>>> public Vertex saveNode(OrientBaseGraph graph) >>>>> >>>>> { >>>>> >>>>> String id = this.getId(); >>>>> >>>>> >>>>> Vertex v = query(graph, id); >>>>> >>>>> if (v == null) >>>>> >>>>> { >>>>> >>>>> HashMap<String, Object> prop = new HashMap<String, Object>(); >>>>> >>>>> >>>>> prop.put("uuid", id); >>>>> >>>>> prop.put("createTime", System.currentTimeMillis()); >>>>> >>>>> prop.put("updateTime", System.currentTimeMillis()); >>>>> >>>>> v = graph.addVertex("class:TestNode", prop); >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> return v; >>>>> >>>>> } >>>>> >>>>> >>>>> public static void main(String[] args) >>>>> >>>>> { >>>>> >>>>> final TestConnection tc = new TestConnection(); >>>>> >>>>> BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<Runnable>( >>>>> ); >>>>> >>>>> >>>>> ThreadPoolExecutor tp = new ThreadPoolExecutor(10, 40, 30, TimeUnit. >>>>> SECONDS, workQueue); >>>>> >>>>> >>>>> for (int count = 0; count < 1000; count++) >>>>> >>>>> { >>>>> >>>>> System.out.println("Running : " + count); >>>>> >>>>> >>>>> if (tp.getActiveCount() > 40) >>>>> >>>>> { >>>>> >>>>> try >>>>> >>>>> { >>>>> >>>>> Thread.sleep(100); >>>>> >>>>> } catch (InterruptedException e) >>>>> >>>>> { >>>>> >>>>> // TODO Auto-generated catch block >>>>> >>>>> e.printStackTrace(); >>>>> >>>>> } >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> Thread t = new Thread() >>>>> >>>>> { >>>>> >>>>> public void run() >>>>> >>>>> { >>>>> >>>>> OrientGraphNoTx graph = tc.getDB(); >>>>> >>>>> >>>>> OrientVertex v1 = (OrientVertex) tc.saveNode(graph); >>>>> >>>>> OrientVertex v2 = (OrientVertex) tc.saveNode(graph); >>>>> >>>>> v1.addEdge(null, v2, "CONNECT"); >>>>> >>>>> graph.shutdown(); >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> }; >>>>> >>>>> >>>>> tp.execute(t); >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> } >>>>> >>>>> >>>>> On Monday, March 17, 2014 11:52:10 AM UTC-4, Dodong Juan wrote: >>>>>> >>>>>> yes .. 1.7-rc2 .. >>>>>> I will create a test case .. >>>>>> >>>>>> On Monday, March 17, 2014 11:40:39 AM UTC-4, Andrey Lomakin wrote: >>>>>>> >>>>>>> I would appreciate if you provide test case. >>>>>>> You use 1.7-rc2, right ? >>>>>>> >>>>>>> >>>>>>> On Mon, Mar 17, 2014 at 5:34 PM, Dodong Juan <[email protected]>wrote: >>>>>>> >>>>>>>> In my case, If I do shutdown on the graph, I get an exception of >>>>>>>> IllegalStateException: Database is closed. >>>>>>>> >>>>>>>> This is >>>>>>>> >>>>>>>> >>>>>>>> On Monday, March 17, 2014 7:24:22 AM UTC-4, Andrey Lomakin wrote: >>>>>>>> >>>>>>>>> You should use shutdown as usual to put connection back to the >>>>>>>>> pool. >>>>>>>>> And call close only during application shutdown. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Mar 17, 2014 at 1:14 PM, <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> A have implemented a connection pool based on this: >>>>>>>>>> http://www.orientechnologies.com/new-orientdb-graph-factory/ >>>>>>>>>> >>>>>>>>>> OrientGraphFactory factory = new OrientGraphFactory("plocal:/ >>>>>>>>>> var/www/data/" + tenant).setupPool(1, 10); >>>>>>>>>> ... >>>>>>>>>> OrientGraph graph = factory.getTx(); >>>>>>>>>> >>>>>>>>>> The documentation implies that calling factory.close() to free >>>>>>>>>> resources, can that that right? >>>>>>>>>> >>>>>>>>>> Should I not be able to close/return one graph (graph.close() / >>>>>>>>>> graph.release()) at a time? >>>>>>>>>> >>>>>>>>>> Thank you, >>>>>>>>>> -Stefán >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> --- >>>>>>>>>> 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 >>> >>> -- >> >> --- >> 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] <javascript:>. >> 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.
