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

Java thin client hangs on close

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.15
    • None
    • Java thin client: fixed the pending requests race on close
    • Release Notes Required

    Description

      There are several places where thin client threads can hang:

      GridNioClientConnectionMultiplexer: SSL enabled + PA enabled

      // Can return finished future with error -> sslHandshakeFut will not complete.
      GridNioFuture<GridNioSession> sesFut = srv.createSession(ch, meta, false, null);
      
       if (sslHandshakeFut != null)
            sslHandshakeFut.get();
      

      TcpClientChannel: PA enabled

      ClientRequestFuture fut = new ClientRequestFuture(requestId, ClientOperation.HANDSHAKE);
      
       // TcpClientChannel may be closed and fut will not complete.
      assert !closed.get();
      
      pendingReqs.put(requestId, fut);
      ...
      ByteBuffer buf = timeout > 0 ? fut.get(timeout) : fut.get();
      

      Attachments

        Issue Links

          Activity

            People

              NSAmelchev Nikita Amelchev
              NSAmelchev Nikita Amelchev
              Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 20m
                  20m