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

SplitTransaction.splitStoreFiles slows splits a lot

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 0.90.0, 0.92.0
    • None
    • None
    • Reviewed

    Description

      Recently I've been seeing some slow splits in our production environment triggering timeouts, so I decided to take a closer look into the issue.

      According to my debugging, we spend almost all the time it takes to split on creating the reference files. Each file in my testing takes at least 300ms to create, and averages around 600ms. Since we create two references per store file, it means that a region with 4 store file can easily take up to 5 seconds to split just to create those references.

      An intuitive improvement would be to create those files in parallel, so at least it wouldn't be much slower when we're splitting a higher number of files. Stack left the following comment in the code:

      // TODO: If the below were multithreaded would we complete steps in less
      // elapsed time?  St.Ack 20100920
      

      Attachments

        1. HBASE-3308.patch
          4 kB
          Jean-Daniel Cryans
        2. HBASE-3308-0.89.patch
          4 kB
          Jean-Daniel Cryans

        Activity

          People

            jdcryans Jean-Daniel Cryans
            jdcryans Jean-Daniel Cryans
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: