Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-16165

Decrease RpcServer.callQueueSize before writeResponse causes OOM

    XMLWordPrintableJSON

    Details

    • Hadoop Flags:
      Reviewed

      Description

      In RpcServer, we use callQueueSizeInBytes to avoid queuing too many calls which causes OOM. But in CallRunner.run, we decrease it before send the response back. And even after calling sendResponseIfReady, the call object could stay in our heap for a long time if we can not write out the response(That's why we need a Responder thread...). This makes it possible that the actual size of all call object in heap is larger than maxQueueSizeInBytes and causes OOM.

        Attachments

        1. HBASE-16165.patch
          0.6 kB
          Guanghao Zhang
        2. HBASE-16165-branch-1.1.patch
          0.7 kB
          Guanghao Zhang

          Activity

            People

            • Assignee:
              zghao Guanghao Zhang
              Reporter:
              zhangduo Duo Zhang
            • Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: