Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.6, 5.0
    • Component/s: SolrCloud
    • Labels:
      None

      Description

      Allow a split key to be passed in to CoreAdmin SPLIT action so that we can split only a particular route key's documents out of the index.

      e.g. consider an index containing documents belonging to two route keys with hash ranges A!=[12,15] and B!=[13,17]. We want to split all documents having route key 'A!' while leaving behind any documents having route key 'B!' even though some documents with 'B!' fall into the hash range of 'A!'

      This is different from what was achieved in SOLR-5338 because that issue splits all documents belonging to the hash range of a given route key. Since multiple keys can have overlapping hash range and we were splitting into the same collection, we had no choice but to move all documents belonging to the hash range into the new shard.

      In this particular issue, we are trying to migrate documents to a different collection and therefore we can leave documents having other route keys behind.

      1. SOLR-5353.patch
        12 kB
        Shalin Shekhar Mangar
      2. SOLR-5353-allow-single-range.patch
        1 kB
        Shalin Shekhar Mangar

        Issue Links

          Activity

          Hide
          ASF subversion and git services added a comment -

          Commit 1537430 from shalin@apache.org in branch 'dev/branches/branch_4x'
          [ https://svn.apache.org/r1537430 ]

          SOLR-5353: Enhance CoreAdmin api to split a route key's documents from an index and leave behind all other documents

          Show
          ASF subversion and git services added a comment - Commit 1537430 from shalin@apache.org in branch 'dev/branches/branch_4x' [ https://svn.apache.org/r1537430 ] SOLR-5353 : Enhance CoreAdmin api to split a route key's documents from an index and leave behind all other documents
          Hide
          ASF subversion and git services added a comment -

          Commit 1533528 from shalin@apache.org in branch 'dev/trunk'
          [ https://svn.apache.org/r1533528 ]

          SOLR-5353: Allow CoreAdmin split to accept a single range only

          Show
          ASF subversion and git services added a comment - Commit 1533528 from shalin@apache.org in branch 'dev/trunk' [ https://svn.apache.org/r1533528 ] SOLR-5353 : Allow CoreAdmin split to accept a single range only
          Hide
          Shalin Shekhar Mangar added a comment -

          Allow CoreAdmin split to accept a single range only

          Show
          Shalin Shekhar Mangar added a comment - Allow CoreAdmin split to accept a single range only
          Hide
          ASF subversion and git services added a comment -

          Commit 1533163 from shalin@apache.org in branch 'dev/trunk'
          [ https://svn.apache.org/r1533163 ]

          SOLR-5353: Enhance CoreAdmin api to split a route key's documents from an index and leave behind all other documents

          Show
          ASF subversion and git services added a comment - Commit 1533163 from shalin@apache.org in branch 'dev/trunk' [ https://svn.apache.org/r1533163 ] SOLR-5353 : Enhance CoreAdmin api to split a route key's documents from an index and leave behind all other documents
          Hide
          Shalin Shekhar Mangar added a comment -

          Changes:

          1. CoreAdmin SPLIT accepts a split.key parameter
          2. SolrIndexSplitter matches the split.key to the route key read from the id field
          3. Added a test which uses two split keys that have the same hash in murmur2

          The way we extract the route key from the id field is a hack – this functionality should ideally be inside CompositeIdRouter. I'll open an issue.

          Show
          Shalin Shekhar Mangar added a comment - Changes: CoreAdmin SPLIT accepts a split.key parameter SolrIndexSplitter matches the split.key to the route key read from the id field Added a test which uses two split keys that have the same hash in murmur2 The way we extract the route key from the id field is a hack – this functionality should ideally be inside CompositeIdRouter. I'll open an issue.

            People

            • Assignee:
              Shalin Shekhar Mangar
              Reporter:
              Shalin Shekhar Mangar
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development