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

Forced splits only act on the first family in a table

    XMLWordPrintableJSON

Details

    Description

      While working on a patch for HBASE-2375, I came across a few bugs in the existing code related to splits.

      If a user triggers a manual split, it flips a forceSplit boolean to true and then triggers a compaction (this is very similar to my current implementation for HBASE-2375). However, the forceSplit boolean is flipped back to false at the beginning of Store.compact(). So the force split only acts on the first family in the table. If that Store is not splittable for some reason (it is empty or has only one row), then the entire region will not be split, regardless of what is in other families.

      Even if there is data in the first family, the midKey is determined based solely on that family. If it has two rows and the next family has 1M rows, we pick the split key based on the two rows.

      Attachments

        1. HBASE-2399-test-v1.patch
          3 kB
          Jonathan Gray
        2. HBASE-2399-trunk.patch
          8 kB
          Ming Ma

        Issue Links

          Activity

            People

              mingma Ming Ma
              streamy Jonathan Gray
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: