[ 
https://issues.apache.org/jira/browse/IGNITE-23967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17914864#comment-17914864
 ] 

Pavel Tupitsyn commented on IGNITE-23967:
-----------------------------------------

[~isapego] looks good to me. Please see one comment on GitHub.

> pyignite3: "Failed to find resource with id: 1" on Cursor.fetchAll()
> --------------------------------------------------------------------
>
>                 Key: IGNITE-23967
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23967
>             Project: Ignite
>          Issue Type: Bug
>          Components: thin client
>            Reporter: Ivan Artiukhov
>            Assignee: Igor Sapego
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0
>
>         Attachments: ignite3db-0.log.zip
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Apache Ignite ver. 
> 3.0.0-SNAPSHOT-sha1:fb713a0c857317e4fd56fbb243857e211cb67588
> Steps:
>  * start an AI3 node, initialize via CLI
>  * run the following python code which uses AI3 Python thin client API. 
>  
> {code:java}
> import pyignite3
> TEST_ROWS_NUM = 1500
> SERVER_ADDRESS = ['127.0.0.1:10800']
> def create_and_populate_test_table(cursor, rows_num, table_name):
>     cursor.execute(f'drop table if exists {table_name}')
>     cursor.execute(f'create table {table_name}(id int primary key, data 
> varchar, fl double)')
>     print(f"Inserting {rows_num}")
>     for i in range(rows_num):
>         cursor.execute(f"insert into {table_name} values ({i}, 'Value-{i * 
> 2}', {i / 2.0})")
>         if (i + 1) % 100 == 0:
>             print(f"Inserted {i + 1} records")
> def connection():
>     return pyignite3.connect(address=SERVER_ADDRESS)
> def cursor():
>     return connection().cursor()
> def test_fetchall_table_many_rows(table_name, cursor):
>     create_and_populate_test_table(cursor, TEST_ROWS_NUM, table_name)
>     cursor.arraysize = 5
>     cursor.execute(f"select id, data, fl from {table_name} order by id")
>     rows_all = cursor.fetchall()
>     
>     assert len(rows_all) == TEST_ROWS_NUM
> if __name__ == '__main__':
>     test_fetchall_table_many_rows('TestTable', cursor()) {code}
>  
>  
> Expected result:
>  * the test ends without errors
> Actual result:
>  * {{the test hangs on cursor.fetchall(). the following error is constantly 
> seen in the log of the server node:}}
> {noformat}
> 2024-12-12 13:31:38:460 +0300 
> [WARNING][defaultNode-srv-worker-1][ClientInboundMessageHandler] Error 
> processing client request [connectionId=1, id=27933, op=51, 
> remoteAddress=/127.0.0.1:46410]:Failed to find resource with id: 1
> org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
> TraceId:66be5dc8-2bad-4e65-a017-8822b14fa5bc Failed to find resource with id: 
> 1
>     at 
> org.apache.ignite.client.handler.ClientResourceRegistry.get(ClientResourceRegistry.java:82)
>     at 
> org.apache.ignite.client.handler.requests.sql.ClientSqlCursorNextPageRequest.process(ClientSqlCursorNextPageRequest.java:50)
>     at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:792)
>     at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperationInternal(ClientInboundMessageHandler.java:866)
>     at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:630)
>     at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.channelRead(ClientInboundMessageHandler.java:336)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
>     at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
>     at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
>     at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
>     at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
>     at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
>     at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
>     at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
>     at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
>     at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>     at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
>     at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>     at java.base/java.lang.Thread.run(Thread.java:829)
> {noformat}
> Full server node log attached.[^ignite3db-0.log.zip]
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to