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.

Reply via email to