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

Possible distributed race related to a data streamer flushing leading to a thread being stuck forever trying to close the streamer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.10
    • 2.11
    • streaming
    • None
    • Fixed an issue when Data Streamer flushing could hang due to a connectivity problem.
    • Release Notes Required

    Description

      It seems that a streamer could stuck forever flushing internal buffers on a client side.

      It will stay in a busy-loop forever hoping on remapping but it's possible that it won't happen for example in case of long GC pauses on server(s) and long timeouts.

      It that case a streamer would be trapped inside this loop.

      Stack trace snippet:

      java.lang.Thread.State: RUNNABLE        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.flush(DataStreamerImpl.java:1706)        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.doFlush(DataStreamerImpl.java:1170)        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.closeEx(DataStreamerImpl.java:1365)        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.closeEx(DataStreamerImpl.java:1323)        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.close(DataStreamerImpl.java:1311)        at org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.close(DataStreamerImpl.java:1415)

       

      It becomes possible when a 
      IgniteSpiOperationTimeoutException
      is being thrown from 
      org.apache.ignite.internal.managers.communication.GridIoManager.sendToGridTopic()
       

      Attachments

        Issue Links

          Activity

            People

              slava.koptilin Vyacheslav Koptilin
              Vladimir Pligin Vladimir Pligin
              Vladislav Pyatkov Vladislav Pyatkov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h