Cassandra
  1. Cassandra
  2. CASSANDRA-6379

Replace index_interval with min/max_index_interval

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 2.1 beta1
    • Component/s: Core
    • Labels:
      None

      Description

      As a continuation of the work in CASSANDRA-5519, we want to replace the index_interval attribute of tables with min_index_interval and max_index_interval.

      1. 6379.txt
        96 kB
        Tyler Hobbs
      2. 6379-thrift-gen.txt
        44 kB
        Tyler Hobbs
      3. 6379-v2.txt
        96 kB
        Tyler Hobbs

        Issue Links

          Activity

          Hide
          Tyler Hobbs added a comment - - edited

          6379.txt (and branch) replaces index_interval with min_index_interval and max_index_interval. When migrating, the existing index_interval value is used for min_index_interval. I chose 2048 for the default max_index_interval; in practice, this limit should only be hit for infrequently-read SSTables when the index summary memory pool is very full.

          If you want to test it out, I suggest setting logging to TRACE for o.a.c.io.sstable.IndexSummaryManager, setting index_summary_capacity_in_mb to 1, and index_summary_resize_interval_in_minutes to 1. After inserting a few million rows with stress, the index summary pool will hit capacity and some resizing will happen. The JMX functions on IndexSummaryManager are also handy.

          Show
          Tyler Hobbs added a comment - - edited 6379.txt (and branch ) replaces index_interval with min_index_interval and max_index_interval . When migrating, the existing index_interval value is used for min_index_interval . I chose 2048 for the default max_index_interval ; in practice, this limit should only be hit for infrequently-read SSTables when the index summary memory pool is very full. If you want to test it out, I suggest setting logging to TRACE for o.a.c.io.sstable.IndexSummaryManager, setting index_summary_capacity_in_mb to 1, and index_summary_resize_interval_in_minutes to 1. After inserting a few million rows with stress, the index summary pool will hit capacity and some resizing will happen. The JMX functions on IndexSummaryManager are also handy.
          Hide
          Aleksey Yeschenko added a comment -

          Thorough. LGTM, +1.

          Show
          Aleksey Yeschenko added a comment - Thorough. LGTM, +1.
          Hide
          Aleksey Yeschenko added a comment -

          Well, almost. Should add max/min index intervals to CFMetaData equals/toString/hashCode. Plus a nit - CFMetaData import in IndexSummary is in the wrong spot.

          Show
          Aleksey Yeschenko added a comment - Well, almost. Should add max/min index intervals to CFMetaData equals/toString/hashCode. Plus a nit - CFMetaData import in IndexSummary is in the wrong spot.
          Hide
          Tyler Hobbs added a comment -

          Should add max/min index intervals to CFMetaData equals/toString/hashCode.

          These all have min/max_index_interval, unless I'm missing something.

          CFMetaData import in IndexSummary is in the wrong spot.

          Looks like it's unused. 6379-v2.txt removes the import.

          Thanks!

          Show
          Tyler Hobbs added a comment - Should add max/min index intervals to CFMetaData equals/toString/hashCode. These all have min/max_index_interval, unless I'm missing something. CFMetaData import in IndexSummary is in the wrong spot. Looks like it's unused. 6379-v2.txt removes the import. Thanks!
          Hide
          Aleksey Yeschenko added a comment -

          These all have min/max_index_interval, unless I'm missing something.

          Huh, indeed. Sorry. Committed w/ a simple NEWS.txt entry.

          Show
          Aleksey Yeschenko added a comment - These all have min/max_index_interval, unless I'm missing something. Huh, indeed. Sorry. Committed w/ a simple NEWS.txt entry.

            People

            • Assignee:
              Tyler Hobbs
              Reporter:
              Tyler Hobbs
              Reviewer:
              Aleksey Yeschenko
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development