Alexander Belyak created IGNITE-19480:
-----------------------------------------

             Summary: ThinClient hangs on error
                 Key: IGNITE-19480
                 URL: https://issues.apache.org/jira/browse/IGNITE-19480
             Project: Ignite
          Issue Type: Bug
          Components: clients
    Affects Versions: 3.0
            Reporter: Alexander Belyak


ThinClient hangs on any error:
{code:java}
@Test
public void testThinClientHangs() throws Exception {
    try (IgniteClient igniteClient = 
IgniteClient.builder().addresses("localhost:10800").build();
            Session session = igniteClient.sql().createSession()) {
        try {
            session.execute(null, "select * from tableNotExists");
        } catch (Throwable t) {
            System.err.println("Got exception " + t.getMessage());
        }
        System.out.println("DONE");
    }
} {code}
doesn't get to the DONE, just hangs:
{noformat}
18:21:44.112 [Test worker] DEBUG 
io.netty.util.internal.logging.InternalLoggerFactory -- Using SLF4J as the 
default logging framework
18:21:44.114 [Test worker] DEBUG io.netty.channel.MultithreadEventLoopGroup -- 
-Dio.netty.eventLoopThreads: 16
18:21:44.159 [Test worker] DEBUG io.netty.util.internal.InternalThreadLocalMap 
-- -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
18:21:44.159 [Test worker] DEBUG io.netty.util.internal.InternalThreadLocalMap 
-- -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
18:21:44.224 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
-Dio.netty.noUnsafe: false
18:21:44.225 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
Java version: 11
18:21:44.227 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
sun.misc.Unsafe.theUnsafe: available
18:21:44.229 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
sun.misc.Unsafe.copyMemory: available
18:21:44.231 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
sun.misc.Unsafe.storeFence: available
18:21:44.232 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
java.nio.Buffer.address: available
18:21:44.233 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
direct buffer constructor: unavailable: Reflective setAccessible(true) disabled
18:21:44.234 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
java.nio.Bits.unaligned: available, true
18:21:44.236 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable: class 
io.netty.util.internal.PlatformDependent0$7 cannot access class 
jdk.internal.misc.Unsafe (in module java.base) because module java.base does 
not export jdk.internal.misc to unnamed module @16b3fc9e
18:21:44.238 [Test worker] DEBUG io.netty.util.internal.PlatformDependent0 -- 
java.nio.DirectByteBuffer.<init>(long, int): unavailable
18:21:44.239 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
sun.misc.Unsafe: available
18:21:44.240 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
maxDirectMemory: 536870912 bytes (maybe)
18:21:44.240 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
-Dio.netty.tmpdir: /tmp (java.io.tmpdir)
18:21:44.240 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
-Dio.netty.bitMode: 64 (sun.arch.data.model)
18:21:44.242 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
-Dio.netty.maxDirectMemory: -1 bytes
18:21:44.242 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
-Dio.netty.uninitializedArrayAllocationThreshold: -1
18:21:44.244 [Test worker] DEBUG io.netty.util.internal.CleanerJava9 -- 
java.nio.ByteBuffer.cleaner(): available
18:21:44.244 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
-Dio.netty.noPreferDirect: false
18:21:44.248 [Test worker] DEBUG io.netty.channel.nio.NioEventLoop -- 
-Dio.netty.noKeySetOptimization: false
18:21:44.248 [Test worker] DEBUG io.netty.channel.nio.NioEventLoop -- 
-Dio.netty.selectorAutoRebuildThreshold: 512
18:21:44.273 [Test worker] DEBUG io.netty.util.internal.PlatformDependent -- 
org.jctools-core.MpscChunkedArrayQueue: available
18:21:44.360 [Test worker] DEBUG io.netty.channel.DefaultChannelId -- 
-Dio.netty.processId: 91839 (auto-detected)
18:21:44.369 [Test worker] DEBUG io.netty.util.NetUtil -- 
-Djava.net.preferIPv4Stack: false
18:21:44.370 [Test worker] DEBUG io.netty.util.NetUtil -- 
-Djava.net.preferIPv6Addresses: false
18:21:44.375 [Test worker] DEBUG io.netty.util.NetUtilInitializations -- 
Loopback interface: lo (lo, 0:0:0:0:0:0:0:1%lo)
18:21:44.378 [Test worker] DEBUG io.netty.util.NetUtil -- 
/proc/sys/net/core/somaxconn: 4096
18:21:44.380 [Test worker] DEBUG io.netty.channel.DefaultChannelId -- 
-Dio.netty.machineId: 00:16:3e:ff:fe:00:00:00 (auto-detected)
18:21:44.417 [Test worker] DEBUG io.netty.util.ResourceLeakDetector -- 
-Dio.netty.leakDetection.level: simple
18:21:44.419 [Test worker] DEBUG io.netty.util.ResourceLeakDetector -- 
-Dio.netty.leakDetection.targetRecords: 4
18:21:44.544 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.numHeapArenas: 16
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.numDirectArenas: 16
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.pageSize: 8192
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.maxOrder: 9
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.chunkSize: 4194304
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.smallCacheSize: 256
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.normalCacheSize: 64
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.maxCachedBufferCapacity: 32768
18:21:44.545 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.cacheTrimInterval: 8192
18:21:44.546 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.cacheTrimIntervalMillis: 0
18:21:44.546 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.useCacheForAllThreads: false
18:21:44.546 [Test worker] DEBUG io.netty.buffer.PooledByteBufAllocator -- 
-Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
18:21:44.574 [Test worker] DEBUG io.netty.buffer.ByteBufUtil -- 
-Dio.netty.allocator.type: pooled
18:21:44.575 [Test worker] DEBUG io.netty.buffer.ByteBufUtil -- 
-Dio.netty.threadLocalDirectBufferSize: 0
18:21:44.576 [Test worker] DEBUG io.netty.buffer.ByteBufUtil -- 
-Dio.netty.maxThreadLocalCharBufferSize: 16384
18:21:44.685 [nioEventLoopGroup-2-1] DEBUG io.netty.buffer.AbstractByteBuf -- 
-Dio.netty.buffer.checkAccessible: true
18:21:44.686 [nioEventLoopGroup-2-1] DEBUG io.netty.buffer.AbstractByteBuf -- 
-Dio.netty.buffer.checkBounds: true
18:21:44.689 [nioEventLoopGroup-2-1] DEBUG 
io.netty.util.ResourceLeakDetectorFactory -- Loaded default 
ResourceLeakDetector: io.netty.util.ResourceLeakDetector@46c3a5d5
18:21:44.708 [nioEventLoopGroup-2-1] DEBUG io.netty.util.Recycler -- 
-Dio.netty.recycler.maxCapacityPerThread: 4096
18:21:44.709 [nioEventLoopGroup-2-1] DEBUG io.netty.util.Recycler -- 
-Dio.netty.recycler.ratio: 8
18:21:44.710 [nioEventLoopGroup-2-1] DEBUG io.netty.util.Recycler -- 
-Dio.netty.recycler.chunkSize: 32
18:21:44.710 [nioEventLoopGroup-2-1] DEBUG io.netty.util.Recycler -- 
-Dio.netty.recycler.blocking: false
18:21:45.610 [nioEventLoopGroup-2-1] WARN 
io.netty.channel.DefaultChannelPipeline -- An exceptionCaught() event was 
fired, and it reached at the tail of the pipeline. It usually means the last 
handler in the pipeline did not handle the exception.
java.lang.NullPointerException: null
    at org.apache.ignite.lang.ErrorGroup.errorMessage(ErrorGroup.java:193)
    at org.apache.ignite.lang.IgniteException.<init>(IgniteException.java:190)
    at 
org.apache.ignite.internal.client.TcpClientChannel.readError(TcpClientChannel.java:432)
    at 
org.apache.ignite.internal.client.TcpClientChannel.processNextMessage(TcpClientChannel.java:397)
    at 
org.apache.ignite.internal.client.TcpClientChannel.onMessage(TcpClientChannel.java:225)
    at 
org.apache.ignite.internal.client.io.netty.NettyClientConnection.onMessage(NettyClientConnection.java:111)
    at 
org.apache.ignite.internal.client.io.netty.NettyClientMessageHandler.channelRead(NettyClientMessageHandler.java:33)
    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:1410)
    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:919)
    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}
stack trace is:
{noformat}
"Test worker@1" prio=5 tid=0x1 nid=NA waiting
  java.lang.Thread.State: WAITING
      at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
      at 
java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1796)
      at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3128)
      at 
java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1823)
      at 
java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2043)
      at org.apache.ignite.sql.Session.execute(Session.java:58)
      at 
org.gridgain.ai3tests.tests.DropTableTest.testThinClientHangs(DropTableTest.java:45)
      at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43){noformat}



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

Reply via email to