Solr
  1. Solr
  2. SOLR-6732

Back-compat break for LIR state in 4.10.2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 4.10.2
    • Fix Version/s: 4.10.3, 5.0
    • Component/s: SolrCloud
    • Labels:
      None

      Description

      We changed the LIR state to be kept as a map but it is not back-compatible. The problem is that we're checking for map or string after parsing JSON but if the key has "down" as a string then json parsing will fail.

      This was introduced in SOLR-6511. This error will prevent anyone from upgrading to 4.10.2

      http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201411.mbox/%3C54636ED2.8040508@cytainment.de%3E

      1. SOLR-6732.patch
        7 kB
        Timothy Potter
      2. SOLR-6732.patch
        5 kB
        Shalin Shekhar Mangar

        Activity

        Hide
        Shalin Shekhar Mangar added a comment -

        I have reverted the change to store the LIR state as json switched it back to a string.

        Show
        Shalin Shekhar Mangar added a comment - I have reverted the change to store the LIR state as json switched it back to a string.
        Hide
        Anshum Gupta added a comment -

        Wouldn't this cause an issue for people who have already moved to 10.2 i.e. it reverts things and makes things fine for people who never noticed/moved to 10.2 but not for others. We should be injecting back compat handling for 10.2.

        Show
        Anshum Gupta added a comment - Wouldn't this cause an issue for people who have already moved to 10.2 i.e. it reverts things and makes things fine for people who never noticed/moved to 10.2 but not for others. We should be injecting back compat handling for 10.2.
        Hide
        Timothy Potter added a comment -

        Here's an updated patch that should allow for hot, rolling upgrades - handling the String state or JSON map correctly. I've added a unit test that checks for back-compat support.

        The other concern is a node running old code that expects a String state and not the JSON map. I think that will not cause any issues since it will just treat the map as a String; a recovering replica will just delete the value once it's active.

        However, before I commit this I'll do a rolling upgrade to ensure no issues when going from 4.8.x to 4.10.3

        Show
        Timothy Potter added a comment - Here's an updated patch that should allow for hot, rolling upgrades - handling the String state or JSON map correctly. I've added a unit test that checks for back-compat support. The other concern is a node running old code that expects a String state and not the JSON map. I think that will not cause any issues since it will just treat the map as a String; a recovering replica will just delete the value once it's active. However, before I commit this I'll do a rolling upgrade to ensure no issues when going from 4.8.x to 4.10.3
        Hide
        ASF subversion and git services added a comment -

        Commit 1640432 from Timothy Potter in branch 'dev/branches/lucene_solr_4_10'
        [ https://svn.apache.org/r1640432 ]

        SOLR-6732: fix back-compat issue with unit test to verify solution

        Show
        ASF subversion and git services added a comment - Commit 1640432 from Timothy Potter in branch 'dev/branches/lucene_solr_4_10' [ https://svn.apache.org/r1640432 ] SOLR-6732 : fix back-compat issue with unit test to verify solution
        Hide
        ASF subversion and git services added a comment -

        Commit 1640434 from Timothy Potter in branch 'dev/branches/lucene_solr_4_10'
        [ https://svn.apache.org/r1640434 ]

        SOLR-6732: mention in changes

        Show
        ASF subversion and git services added a comment - Commit 1640434 from Timothy Potter in branch 'dev/branches/lucene_solr_4_10' [ https://svn.apache.org/r1640434 ] SOLR-6732 : mention in changes
        Hide
        Anshum Gupta added a comment -

        Timothy Potter : Can you commit this for trunk and 5x too (if it has to be)?

        Show
        Anshum Gupta added a comment - Timothy Potter : Can you commit this for trunk and 5x too (if it has to be)?
        Hide
        ASF subversion and git services added a comment -

        Commit 1642917 from Timothy Potter in branch 'dev/trunk'
        [ https://svn.apache.org/r1642917 ]

        SOLR-6732: back compat support needed in trunk and 5x to support upgrades from 4.10.1 to 5x

        Show
        ASF subversion and git services added a comment - Commit 1642917 from Timothy Potter in branch 'dev/trunk' [ https://svn.apache.org/r1642917 ] SOLR-6732 : back compat support needed in trunk and 5x to support upgrades from 4.10.1 to 5x
        Hide
        ASF subversion and git services added a comment -

        Commit 1642920 from Timothy Potter in branch 'dev/branches/branch_5x'
        [ https://svn.apache.org/r1642920 ]

        SOLR-6732: back compat support needed in trunk and 5x to support upgrades from 4.10.1 to 5x

        Show
        ASF subversion and git services added a comment - Commit 1642920 from Timothy Potter in branch 'dev/branches/branch_5x' [ https://svn.apache.org/r1642920 ] SOLR-6732 : back compat support needed in trunk and 5x to support upgrades from 4.10.1 to 5x
        Hide
        Anshum Gupta added a comment -

        Bulk close after 5.0 release.

        Show
        Anshum Gupta added a comment - Bulk close after 5.0 release.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development