Orient Community 2.1.1

My application utilizes OrientDB for several important features, but if the 
database is not available for some reason, the portions of the application 
that don't utilize the graph database should continue to function. The 
problem is that when a connection is attempted to the remote database, the 
thread that is performing the connection attempt is stuck trying to connect 
over and over again (every 15 seconds) without throwing an exception and 
giving up. Here is the stack trace that happens every time:

Sep 03, 2015 12:26:40 PM com.orientechnologies.common.log.OLogManager log

SEVERE: Cannot open database with url xxx.xxx.xxx.xxx:2424/mygraphdb

com.orientechnologies.common.io.OIOException: Cannot open a connection to 
remote server: xxx.xxx.xxx.xxx:2424/mygraphdb

at 
com.orientechnologies.orient.client.remote.OStorageRemote.getAvailableNetwork(OStorageRemote.java:2114)

at 
com.orientechnologies.orient.client.remote.OStorageRemote.openRemoteDatabase(OStorageRemote.java:1841)

at 
com.orientechnologies.orient.client.remote.OStorageRemote.open(OStorageRemote.java:222)

at 
com.orientechnologies.orient.client.remote.OStorageRemoteThread.open(OStorageRemoteThread.java:89)

at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.open(ODatabaseDocumentTx.java:249)

at 
com.tinkerpop.blueprints.impls.orient.OrientGraphFactory.getDatabase(OrientGraphFactory.java:132)

at 
com.tinkerpop.blueprints.impls.orient.OrientGraphFactory.getDatabase(OrientGraphFactory.java:111)

at 
com.qualpay.db.GraphConnectionPool.createVertexClassAndProperties(GraphConnectionPool.java:94)

at 
com.qualpay.db.GraphConnectionPool.createGraphSchema(GraphConnectionPool.java:185)

at com.qualpay.db.GraphConnectionPool.init(GraphConnectionPool.java:58)

at 
com.qualpay.db.GraphConnectionPool.getFactory(GraphConnectionPool.java:213)

at 
com.qualpay.db.GraphConnectionPool.getConnection(GraphConnectionPool.java:246)

at 
com.qualpay.models.MerchantModelTest.testCreateMerchant(MerchantModelTest.java:133)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)

at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)

at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)

at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)

at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)

at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)

at org.junit.runners.ParentRunner.run(ParentRunner.java:309)

at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)

at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)

at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)

at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)

at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)

at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)

at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Caused by: com.orientechnologies.common.io.OIOException: Error on 
connecting to 54.187.126.131:2424/qualpay

at 
com.orientechnologies.orient.client.remote.ORemoteConnectionManager.createNetworkConnection(ORemoteConnectionManager.java:246)

at 
com.orientechnologies.orient.client.remote.ORemoteConnectionManager$1.createNewResource(ORemoteConnectionManager.java:80)

at 
com.orientechnologies.orient.client.remote.ORemoteConnectionManager$1.createNewResource(ORemoteConnectionManager.java:77)

at 
com.orientechnologies.common.concur.resource.OResourcePool.getResource(OResourcePool.java:94)

at 
com.orientechnologies.orient.client.remote.ORemoteConnectionManager.acquire(ORemoteConnectionManager.java:101)

at 
com.orientechnologies.orient.client.remote.OStorageRemote.getAvailableNetwork(OStorageRemote.java:2103)

... 37 more

Caused by: java.io.IOException: Cannot connect to host 54.187.126.131:2424

at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.<init>(OChannelBinaryAsynchClient.java:87)

at 
com.orientechnologies.orient.client.remote.ORemoteConnectionManager.createNetworkConnection(ORemoteConnectionManager.java:233)

... 42 more

Caused by: java.net.SocketTimeoutException: connect timed out

at java.net.PlainSocketImpl.socketConnect(Native Method)

at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)

at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.<init>(OChannelBinaryAsynchClient.java:83)

... 43 more


The call that starts this infinite loop within my application is:


      OrientGraphFactory factory = new OrientGraphFactory(dbURI, dbUser, 
dbPassword).setupPool(PoolMin, PoolMax);


Is there any way I can use Orient if/when it is available and just skip 
past the connection attempt if it is not available?


-John Firman

-- 

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