Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-1498

Turn KEEP_DELETED_CELLS off by default

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0.0
    • 4.3.0
    • None
    • None

    Description

      Phoenix table is created with "KEEP_DELETED_CELLS" enabled by default, this is only used to allow for flashback queries to work correctly. While flashback query isn't used often in field and we found that query performance degraded with the option on. This is likely a hbase scan issue though(will create a JIRA once having more info).

      Anyway Keeping deleted cells will add performance penalty and it's not used often. Therefore, I'm suggesting to set it off by default.

      We have a test where a table is loaded with > 5m rows and then some are deleted/reinserted. The count ( * ) performance became worse & worse:

      +------------+
      |  COUNT(1)  |
      +------------+
      | 5078242    |
      +------------+
      1 row selected (33.273 seconds)
      
      +------------+
      |  COUNT(1)  |
      +------------+
      | 5078242    |
      +------------+
      1 row selected (174.771 seconds)
      
      +------------+
      |  COUNT(1)  |
      +------------+
      | 5078242    |
      +------------+
      1 row selected (458.251 seconds)
      

      I think we can provide a table property in CREATE TABLE & ALTER TABLE statement for people to enable KEEP_DELETED_CELLS if there is a need but by default it should be turned off.

      Attachments

        1. PHOENIX-1498.patch
          3 kB
          Jeffrey Zhong
        2. PHOENIX-1498-v2.patch
          12 kB
          Jeffrey Zhong
        3. PHOENIX-1498-v3.patch
          13 kB
          Jeffrey Zhong

        Activity

          People

            jeffreyz Jeffrey Zhong
            jeffreyz Jeffrey Zhong
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: