Lucky,

What tool are you using to access Ignite over JDBC? Does this problem
reproduce, if you use DBeaver, for example?
As Taras said, looks like the same JDBC connection is used concurrently.

Denis

ср, 29 нояб. 2017 г. в 5:17, Lucky <wanxing...@163.com>:

>     OK,This is the stack trace.
>     Sorry,  Because of the company's privacy rules, I hide the actual path
> of some of the class names.
>
>     When I refresh first time:
>         Caused by: java.lang.ClassCastException:
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcQueryExecuteResult
> cannot be cast to
> org.apache.ignite.internal.processors.odbc.jdbc.JdbcQueryMetadataResult
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinResultSet.meta(JdbcThinResultSet.java:1877)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinResultSet.getMetaData(JdbcThinResultSet.java:714)
> at com.XXX.XXXxx.sql.shell.KDResultSet.<init>(KDResultSet.java:80)
> at
> com.XXX.XXXxx.sql.shell.KDPreparedStatement.executeQuery(KDPreparedStatement.java:393)
> at
> com.xxxxxx.jdbc.adapter.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:61)
> at
> com.XXX.XXXxx.xxxxxxx.impl.EntityAccess.execQuerySQL(EntityAccess.java:483)
> at com.XXX.XXXxx.xxxxxxx.impl.EntityAccess.select(EntityAccess.java:365)
> at
> com.XXX.XXXxx.xxxxxxx.impl.ObjectReader.innerSelect(ObjectReader.java:241)
> at com.XXX.XXXxx.xxxxxxx.impl.ObjectReader.select(ObjectReader.java:139)
> at com.XXX.XXXxx.xxxxxxx.MappingDAO.innerGetCollection(MappingDAO.java:785)
> at com.kXXX.XXXxx.xxxxxxx.MappingDAO.getCollection(MappingDAO.java:683)r
> at
> com.XXX.XXXxx.xxxxxxx.xxx.AbstractEntityControllerBean.innerGetCollection(AbstractEntityControllerBean.java:580)
> at
> com.XXX.XXXxx.xxxxxxx.app.AbstractCustomerGroupDetailControllerBean._getCollection(AbstractCustomerGroupDetailControllerBean.java:124)
> at
> com.XXX.XXXxx.xxxxxxx.app.AbstractCustomerGroupDetailControllerBean.getCollection(AbstractCustomerGroupDetailControllerBean.java:112)
> 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:606)
> at
> com.XXX.XXXxx.xxxxxxx.transaction.EJBTxFacade.TxInvokerBean.invoke(TxInvokerBean.java:125)
>
>      But when I refresh again, it change to this:
>
>     Caused by: java.sql.SQLException
>        java.sql.SQLException: Failed to communicate with Ignite cluster.
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:681)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinResultSet.meta(JdbcThinResultSet.java:1877)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinResultSet.getMetaData(JdbcThinResultSet.java:714)
> at com.xxxxx.xxxx.sql.shell.KDResultSet.getMetaData(KDResultSet.java:319)
> at
> com.apusic.jdbc.adapter.ResultSetHandle.getMetaData(ResultSetHandle.java:323)
> at
> com.xxxxx.xxxx.xxxxx.xxxxxxxxx.xxxx.impl.ImplUtils$FieldTypes.<init>(ImplUtils.java:1344)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.impl.ImplUtils.fillObjectValue(ImplUtils.java:307)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.impl.EntityAccess.select(EntityAccess.java:367)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.impl.ObjectReader.innerSelect(ObjectReader.java:241)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.impl.ObjectReader.select(ObjectReader.java:139)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.ORMappingDAO.innerGetCollection(ORMappingDAO.java:785)
> at
> com.xxxxx.xxxx.xxxxx.xxxx.ORMappingDAO.getCollection(ORMappingDAO.java:683)
> at
> com.xxxxx.xxxx.framework.ejb.AbstractEntityControllerBean.innerGetCollection(AbstractEntityControllerBean.java:580)
> at
> com.xxxxx.xxxx.xxxxx.xxxxxxxxx.app.AbstractCustomerGroupDetailControllerBean._getCollection(AbstractCustomerGroupDetailControllerBean.java:124)
> at
> com.xxxxx.xxxx.xxxxx.xxxxxxxxx.app.AbstractCustomerGroupDetailControllerBean.getCollection(AbstractCustomerGroupDetailControllerBean.java:112)
>         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:606)
> at
> com.xxxxx.xxxx.transaction.EJBTxFacade.TxInvokerBean.invoke(TxInvokerBean.java:125)
> at
> com.xxxxx.xxxx.transaction.EJBTxFacade.TxInvokerBean.INVOKE_SUPPORTS(TxInvokerBean.java:64)
> at
> com.xxxxx.xxxx.transaction.EJBTxFacade.TxInvokerBean_LocalObjectImpl_2.INVOKE_SUPPORTS(Unknown
> Source)
> at
> com.xxxxx.xxxx.transaction.EJBTransactionProxy.invoke(EJBTransactionProxy.java:179)
> at
> com.xxxxx.xxxx.transaction.EJBTransactionProxy.invoke(EJBTransactionProxy.java:324)
> at com.sun.proxy.$Proxy292.getCollection(Unknown Source)
> at
> com.xxxxx.xxxx.xxxxx.xxxxxxxxx.CustomerGroupDetail.getCollection(CustomerGroupDetail.java:89)
> at
> rpc_generate._PROXY_com_1_xxxxx_xxxx_xxxxx_xxxxxxxxx_1_ICustomerGroupDetail.pi2(Unknown
> Source)
> at
> rpc_generate._PROXY_com_1_xxxxx_xxxx_xxxxx_xxxxxxxxx_1_ICustomerGroupDetail.processInvoke(Unknown
> Source)
> at com.xxxxx.xxxx.rpc.impl.ObjectProxy.processInvoke(ObjectProxy.java:177)
> at com.xxxxx.xxxx.rpc.impl.RPCService.serviceInvoke(RPCService.java:788)
> at com.xxxxx.xxxx.rpc.impl.RPCService.service(RPCService.java:141)
> at
> com.xxxxx.xxxx.rpc.impl.ServiceDispatcher.run(ServiceDispatcher.java:153)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 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:745)
>     Caused by: java.net.SocketException: Socket closed
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:121)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.send(JdbcThinTcpIo.java:376)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.sendRequest(JdbcThinTcpIo.java:325)
> at
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:668)
>
>       Since then, no matter how many times it is refreshed, the first
> time  error message is reported.
>
>
>       There is another thing: when I exit the system and relogin the
> system, It can run normally.
>
>        Thanks.
>
>
>
>
>
> At 2017-11-28 23:59:27, "Denis Mekhanikov" <dmekhani...@gmail.com> wrote:
>
> Lucky,
>
> Could you provide a full stack trace? It's hard to say, what happened, by
> the part, that you sent in the first message.
>
> Denis
>
> пн, 27 нояб. 2017 г. в 19:39, Lucky <wanxing...@163.com>:
>
>> Hi,
>>      Because our company's network do not allow send file to the
>> internet,so I try to decribe the steps:
>>     1.I got all records from two tables, it's very simple,just like this:
>> select a.id,a.name,b.depatment from tablea a inner join tableb b on 
>> a.id=b.did
>> where a.id in('a','b') ; this step is correct.
>>     2.Then I open a new page to update some properties of some record
>> with cache.query(new SqlFieldQuery(sql));this not use jdbc,but I will
>> update the two tables by calling cache.query twice.And this step is correct.
>>     3.I close the page,and referesh all records with jdbc.it got the
>> error .
>>
>>      By the way, my server node and clent node are all use
>> ignite-core.2.3.jar, ignite-index2.3.jar.
>>      Do I miss something?
>>      Thanks.
>>       Lucky
>>
>>
>>

Reply via email to