JDBC Driver Version:orientdb-jdbc-1.7-rc2-SNAPSHOT-all.jar
Server:orientdb-community-1.7-rc1.zip
Using this in tomcat jax-ws service


Reproducer:
Create class Test
Create  property username string
Create property  email string
Create index Test.username.idx on Test (username) unique
Create index Test.email.idx Test (email) unique
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
Class{
public static void main(String arg[])
{
try {
Class.forName("com.orientechnologies.orient.jdbc.OrientJdbcDriver");
conn = (OrientJdbcConnection) DriverManager.getConnection(
                    "jdbc:orient:remote:localhost/dd", userCred);
Statment stmt = con.createStatement();
stmt.execute("insert into Person(username,email) values("'windons','test'")
catch(SQLException e)
{
the catch block never gets executed
}
}
}

Work around
catch (SQLException  |OResponseProcessingException e )
works..

Expected behaviour: JDBC driver exception should extend SQLException.


Stack Trace
com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException:
 
Exception during response processing.
    at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:264)
    at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:231)
    at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:202)
    at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:113)
    at 
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1951)
    at 
com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:982)
    at 
com.orientechnologies.orient.client.remote.OStorageRemoteThread.command(OStorageRemoteThread.java:431)
    at 
com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59)
    at 
com.orientechnologies.orient.jdbc.OrientJdbcStatement.execute(OrientJdbcStatement.java:100)
    at tarkika.server.user.UserDB.insertUserGraph(Unknown Source)
    at tarkika.server.user.UserDB.insertUser(Unknown Source)
    at tarkika.server.user.UserManagerImpl.createUser(Unknown Source)
    at tarkika.server.user.UserManagerWS.createUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at 
com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:250)
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:149)
    at 
com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:88)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1063)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:979)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:950)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:825)
    at 
com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:380)
    at 
com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:651)
    at 
com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:264)
    at 
com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapter.java:218)
    at 
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:159)
    at 
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:194)
    at 
com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:80)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
    at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
    at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
Caused by: 
com.orientechnologies.orient.core.storage.ORecordDuplicatedException: 
Cannot index record Person{username:xxxxx,password:xxxx,email:xxxxx}: found 
duplicated key 'm2anoj' in index 'Person.username.idx' previously assigned 
to the record #11:19 RID=#11:19
    at 
com.orientechnologies.orient.core.index.OIndexTxAwareOneValue.checkEntry(OIndexTxAwareOneValue.java:53)
    at 
com.orientechnologies.orient.core.index.OClassIndexManager.checkIndexedPropertiesOnCreation(OClassIndexManager.java:513)
    at 
com.orientechnologies.orient.core.index.OClassIndexManager.checkIndexes(OClassIndexManager.java:492)
    at 
com.orientechnologies.orient.core.index.OClassIndexManager.onRecordBeforeCreate(OClassIndexManager.java:62)
    at 
com.orientechnologies.orient.core.hook.ODocumentHookAbstract.onTrigger(ODocumentHookAbstract.java:233)
    at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.callbackHooks(ODatabaseRecordAbstract.java:1143)
    at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:847)
    at 
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:78)
    at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:274)
    at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:39)
    at 
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:329)
    at 
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1358)
    at 
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1347)
    at 
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1336)
    at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLInsert.execute(OCommandExecutorSQLInsert.java:207)
    at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:57)
    at 
com.orientechnologies.orient.core.storage.OStorageEmbedded.executeCommand(OStorageEmbedded.java:96)
    at 
com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:85)
    at 
com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59)
    at 
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1320)
    at 
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:330)
    at 
com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:125)
    at 
com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
]

-- 

--- 
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/groups/opt_out.

Reply via email to