> On Oct. 13, 2014, 2:20 p.m., Jarek Cecho wrote:
> > core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java, line 141
> > <https://reviews.apache.org/r/26657/diff/1/?file=719676#file719676line141>
> >
> >     Simirly as above I would suggest dropping the "Schema" word.
> >     
> >     In addition the "ForUpgrade" don't seem accurate as this method 
> > implementation is not checking whether the repository is ready for upgrade. 
> > It's checking that the repo is ready to be used. E.g. if this methods 
> > return true then Sqoop will continue and start repository and won't run 
> > upgrade as one would expect by the changed name.
> 
> Veena Basavaraj wrote:
>     I am not sure what the history of this method was. But as far the current 
> implmentation is, it checks this , i,e if the version in the repository 
> database is what the code states ( harcoded constant)
>     
>      @Override
>       public boolean hasSuitableSchemaForUpgrade(Connection conn) {
>         // TODO(jarcec): Verify that all structures are present (e.g. 
> something like corruption validation)
>         // NOTE: At this point is is just checking if the repo version 
> matches the version
>         // in the upgraded code
>         return detectRepositoryVersion(conn) == 
> DerbyRepoConstants.LATEST_DERBY_REPOSITORY_VERSION;
>       }
>       
>       
>         if(!provider.getRepository().hasSuitableSchemaForUpgrade()) {
>           throw new SqoopException(RepositoryError.REPO_0002);
>         }
>         
>         this is how this method used today, and it throws an exception if the 
> schema is not ready for upgrade. So What does "Suitable" really mean here. 
> Might be good to think about it as well

I am reading this code more closely and even more confused about the naming and 
functionality. so that upgrade happens first and then we throw an  exception?

  try {
      provider = (RepositoryProvider) repoProviderClass.newInstance();
    } catch (Exception ex) {
      throw new SqoopException(RepositoryError.REPO_0001,
          repoProviderClassName, ex);
    }

    provider.initialize(context);

    if(!immutableRepository) {
      LOG.info("Creating or update respository at bootup");
      provider.getRepository().createOrUpgradeRepositorySchema();
    }

    if(!provider.getRepository().hasSuitableSchemaForUpgrade()) {
      throw new SqoopException(RepositoryError.REPO_0002);
    }


- Veena


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26657/#review56443
-----------------------------------------------------------


On Oct. 13, 2014, 1:03 p.m., Veena Basavaraj wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26657/
> -----------------------------------------------------------
> 
> (Updated Oct. 13, 2014, 1:03 p.m.)
> 
> 
> Review request for Sqoop.
> 
> 
> Repository: sqoop-sqoop2
> 
> 
> Description
> -------
> 
> fix the upgrade logic for 1498 changes.
> While fixing the upgrade logic, added comments on how the upgrade logic works.
> -renamed test methods to reflect what they are upgrading and what they are 
> infact testing. 
> -renamed the internals to exactly mean "schema" upgrades, since we only 
> allow/ do scheme upgrades the repository
> -Also updated the names on the repository api to clearly state the difference 
> between upgrade and update operations on connector / driver.
> 
> 
> Diffs
> -----
> 
>   core/src/main/java/org/apache/sqoop/repository/JdbcRepository.java 3ade247 
>   core/src/main/java/org/apache/sqoop/repository/JdbcRepositoryHandler.java 
> 97de893 
>   core/src/main/java/org/apache/sqoop/repository/Repository.java 95c7a4d 
>   core/src/main/java/org/apache/sqoop/repository/RepositoryManager.java 
> c2f8505 
>   core/src/test/java/org/apache/sqoop/repository/TestJdbcRepository.java 
> e6e4760 
>   
> repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepoConstants.java
>  74e41df 
>   
> repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepoError.java
>  0f0f7c4 
>   
> repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java
>  10a7b1a 
>   
> repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbySchemaConstants.java
>  cf6e657 
>   
> repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbySchemaQuery.java
>  56ea147 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/DerbyTestCase.java
>  9316687 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestConnectorHandling.java
>  fc95222 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestDriverHandling.java
>  d597bd8 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestInputTypes.java
>  260c2a9 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestInternals.java
>  0eb9df4 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestJobHandling.java
>  01a05b2 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestLinkHandling.java
>  bbfe5bb 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java
>  PRE-CREATION 
>   
> repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestSubmissionHandling.java
>  8402d8c 
> 
> Diff: https://reviews.apache.org/r/26657/diff/
> 
> 
> Testing
> -------
> 
> yes
> 
> 
> Thanks,
> 
> Veena Basavaraj
> 
>

Reply via email to