VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.99.0, hbase-10070
    • None
    • None
    • Reviewed

    Description

      While running the IT test from HBASE-10572, we've noticed that the number of threads jumps to 4K's when CM actions are going on.

      Our Nick Dimiduk summarizes the problem quite good:

      MultiThreadedReader creates this pool for each HTable:

          ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, keepAliveTime, TimeUnit.SECONDS,
              new SynchronousQueue<Runnable>(), Threads.newDaemonThreadFactory("htable"));
      

      This comes from the HTable creation

        
      public HTable(Configuration conf, final TableName tableName)
      

      As well the javadoc says Recommended.
      This is wrong.

      In this issue we can change the LTT sub classes to use the shared connection object and initialize their tables using HConnection.getTable() rather than new HTable().

      This is relevant to trunk as well, but there since there is only one outstanding RPC per thread, it is not such a big problem.

      Attachments

        1. hbase-10810_v1.patch
          27 kB
          Enis Soztutar
        2. 0038-HBASE-10810-LoadTestTool-should-share-the-connection.patch
          28 kB
          Enis Soztutar

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            enis Enis Soztutar
            enis Enis Soztutar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment