Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-13341

OOME is ignored if thrown in a client connector thread

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • thin client
    • None
    • Docs Required, Release Notes Required

    Description

      If a thin client operation causes OOME then the thread will die and an error will be logged, but that's all. The clients are left hanging and waiting for reply until timeout.

      Correct behavior in this case would be to trigger Failure Handler.

      Example of the error:

      Exception in thread "client-connector-#69%xxx%" java.lang.OutOfMemoryError: Java heap space
      Aug 08, 2020 7:08:43 AM org.apache.ignite.logger.java.JavaLogger error
      SEVERE: Runtime error caught during grid runnable execution: GridWorker [name=message-received-notify, igniteInstanceName=xxx, finished=false, heartbeatTs=1596859722580, hashCode=1209004925, interrupted=false, runner=client-connector-#66%xxx%]
      java.lang.OutOfMemoryError: Java heap space
      	at org.apache.ignite.internal.binary.streams.BinaryMemoryAllocatorChunk.reallocate(BinaryMemoryAllocatorChunk.java:68)
      	at org.apache.ignite.internal.binary.streams.BinaryHeapOutputStream.ensureCapacity(BinaryHeapOutputStream.java:64)
      	at org.apache.ignite.internal.binary.streams.BinaryAbstractOutputStream.unsafeEnsure(BinaryAbstractOutputStream.java:261)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteBinaryObject(BinaryWriterExImpl.java:970)
      	at org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:756)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:231)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:164)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:151)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteObject(BinaryWriterExImpl.java:523)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.writeObject(BinaryWriterExImpl.java:1502)
      	at org.apache.ignite.internal.processors.platform.client.ClientObjectResponse.encode(ClientObjectResponse.java:43)
      	at org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:459)
      	at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:203)
      	at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:49)
      	at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:278)
      	at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:108)
      	at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:135)
      	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
      	at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:69)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            slukyanov Stanislav Lukyanov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: