Uploaded image for project: 'Sqoop (Retired)'
  1. Sqoop (Retired)
  2. SQOOP-1625

Repository upgrade issue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.99.4
    • 1.99.4
    • None
    • None

    Description

      I'm facing such a situation.
      1. I recompile the project without changing anything.
      2. I replace old binaries with newly built binaries (derby's repository is kept unchanged)
      3. I restart Sqoop2 server, it will trigger an upgrade check.

      As the repository version is not incremented, I expect nothing to be update. But I see a SQL error:

      Caused by: ERROR 42Z93: Constraints 'FK_SQB_NAME_UNIQUE' and 'FK_SQB_NAME_UNIQUE' have the same set of columns, which is not allowed.
      

      In DerbyRepositoryHandler.java, constraints will be added to repository, if repository version is greater than 3, Sqoop will attempt to add particular constraints repeatedly. I'm afraid this will fail.

          // Add unique constraints on job and links for version 4 onwards
          if (repositoryVersion > 3) {
            runQuery(QUERY_UPGRADE_TABLE_SQ_JOB_ADD_UNIQUE_CONSTRAINT_NAME, conn);
            runQuery(QUERY_UPGRADE_TABLE_SQ_LINK_ADD_UNIQUE_CONSTRAINT_NAME, conn);
            runQuery(QUERY_UPGRADE_TABLE_SQ_CONFIGURABLE_ADD_UNIQUE_CONSTRAINT_NAME, conn);
          }
      

      So I'm thinking, whether we should do as follows:
      1. Increase the current repository version to 5 (instead of 4) and
      2. Change the following code

          // original
          if (repositoryVersion > 3) {
          // proposed
          if (repositoryVersion <= 4) {
      

      Attachments

        1. SQOOP-1625.patch
          2 kB
          Qian Xu

        Activity

          People

            stanleyxu2005 Qian Xu
            stanleyxu2005 Qian Xu
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: