You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Joshua Cohen <jc...@apache.org> on 2016/04/06 21:27:02 UTC

Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

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

Review request for Aurora, Maxim Khutornenko and Bill Farner.


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs
-----

  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127430
-----------------------------------------------------------


Ship it!




Master (103dae6) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On April 6, 2016, 7:27 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 7:27 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 6, 2016, 8:37 p.m., Zameer Manji wrote:
> > build.gradle, line 369
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328659#file1328659line369>
> >
> >     If the goal here is to prevent a version conflict, there is an existing mechanism higher up in the file that looks like this:
> >     
> >     ````
> >           resolutionStrategy {
> >             failOnVersionConflict()
> >             force "com.fasterxml.jackson.core:jackson-annotations:${jacksonRev}"
> >             force "com.fasterxml.jackson.core:jackson-core:${jacksonRev}"
> >             force "com.google.code.gson:gson:${gsonRev}"
> >             force "com.google.guava:guava:${guavaRev}"
> >             force "com.google.protobuf:protobuf-java:${protobufRev}"
> >             force "junit:junit:${junitRev}"
> >             force "org.apache.thrift:libthrift:${thriftRev}"
> >             force "org.hamcrest:hamcrest-core:1.3"
> >             force "org.slf4j:slf4j-api:${slf4jRev}"
> >           }
> >     ````
> >     
> >     You can put a force statement there for the correct version of mybatis.

Done, thanks for the pointer!


- Joshua


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


On April 6, 2016, 9:11 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:11 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Zameer Manji <zm...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127437
-----------------------------------------------------------




build.gradle (line 369)
<https://reviews.apache.org/r/45816/#comment190768>

    If the goal here is to prevent a version conflict, there is an existing mechanism higher up in the file that looks like this:
    
    ````
          resolutionStrategy {
            failOnVersionConflict()
            force "com.fasterxml.jackson.core:jackson-annotations:${jacksonRev}"
            force "com.fasterxml.jackson.core:jackson-core:${jacksonRev}"
            force "com.google.code.gson:gson:${gsonRev}"
            force "com.google.guava:guava:${guavaRev}"
            force "com.google.protobuf:protobuf-java:${protobufRev}"
            force "junit:junit:${junitRev}"
            force "org.apache.thrift:libthrift:${thriftRev}"
            force "org.hamcrest:hamcrest-core:1.3"
            force "org.slf4j:slf4j-api:${slf4jRev}"
          }
    ````
    
    You can put a force statement there for the correct version of mybatis.


- Zameer Manji


On April 6, 2016, 12:27 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 12:27 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127427
-----------------------------------------------------------




config/checkstyle/suppressions.xml (lines 24 - 25)
<https://reviews.apache.org/r/45816/#comment190720>

    Bill: I decided to stick w/ the `JavaMigrationLoader` rather than creating a new `ClasspathMigrationLoader` this was done for two reasons:
    
    1. As I mentioned originally, I find overloading a single sql file to contain both upgrade and downgrade scripts to be sub-optimal.
    2. It didn't seem worth carrying the extra logic for classpath loading of script files when the logic already exists for loading classes.
    
    If you feel strongly opposed, I can revisit.


- Joshua Cohen


On April 6, 2016, 7:27 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 7:27 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 7, 2016, 4:49 p.m., Maxim Khutornenko wrote:
> > docs/development/db-migration.md, line 14
> > <https://reviews.apache.org/r/45816/diff/5/?file=1330201#file1330201line14>
> >
> >     Link V001_TestMigration.java here as a reference?

Done.


> On April 7, 2016, 4:49 p.m., Maxim Khutornenko wrote:
> > src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml, line 20
> > <https://reviews.apache.org/r/45816/diff/5/?file=1330212#file1330212line20>
> >
> >     sql?

I mentioned above, this doesn't appear to work (if you try and execute a `<sql id="...">` statement, it throws an exception about the statement not being found).


- Joshua


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


On April 7, 2016, 5:29 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 5:29 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127611
-----------------------------------------------------------


Ship it!





docs/development/db-migration.md (line 14)
<https://reviews.apache.org/r/45816/#comment191001>

    Link V001_TestMigration.java here as a reference?



src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml (line 20)
<https://reviews.apache.org/r/45816/#comment191002>

    sql?


- Maxim Khutornenko


On April 7, 2016, 4:35 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 4:35 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127628
-----------------------------------------------------------


Ship it!




Master (915459d) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On April 7, 2016, 5:29 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 5:29 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Zameer Manji <zm...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127706
-----------------------------------------------------------


Ship it!




Josh asked me offline to take a look at this and everything LGTM.

It took me a bit to understand the mechanics but it seems to be a robust enough solution.

- Zameer Manji


On April 7, 2016, 10:29 a.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 10:29 a.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/
-----------------------------------------------------------

(Updated April 7, 2016, 5:29 p.m.)


Review request for Aurora, Maxim Khutornenko and Bill Farner.


Changes
-------

Add link to test migration to docs.


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs (updated)
-----

  RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  docs/development/db-migration.md PRE-CREATION 
  docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127612
-----------------------------------------------------------


Ship it!




Master (915459d) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On April 7, 2016, 4:35 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 4:35 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/
-----------------------------------------------------------

(Updated April 7, 2016, 4:35 p.m.)


Review request for Aurora, Maxim Khutornenko and Bill Farner.


Changes
-------

Add docs.


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs (updated)
-----

  RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  docs/development/db-migration.md PRE-CREATION 
  docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127468
-----------------------------------------------------------


Ship it!




Master (103dae6) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On April 6, 2016, 9:26 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:26 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md 0e2e04be03195b9034ea17f05fb59519bc6aa1fc 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 11f6ad14eb334ce3e6390ca5754add1c0998d64e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/
-----------------------------------------------------------

(Updated April 6, 2016, 9:26 p.m.)


Review request for Aurora, Maxim Khutornenko and Bill Farner.


Changes
-------

Rebased.


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs (updated)
-----

  RELEASE-NOTES.md 0e2e04be03195b9034ea17f05fb59519bc6aa1fc 
  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 11f6ad14eb334ce3e6390ca5754add1c0998d64e 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Maxim Khutornenko <ma...@apache.org>.

> On April 6, 2016, 9:24 p.m., Maxim Khutornenko wrote:
> > RELEASE-NOTES.md, line 14
> > <https://reviews.apache.org/r/45816/diff/3/?file=1328902#file1328902line14>
> >
> >     This is actually doc-worthy. Mind amending https://github.com/apache/aurora/blob/master/docs/development/thrift.md document with migration steps?
> 
> Joshua Cohen wrote:
>     Do you think this belongs in thrift.md, or should we have a separate doc on db migrations?

A separate doc is fine. Perhaps remove outdated backfill parts here and link to the new document instead?


- Maxim


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


On April 6, 2016, 9:26 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:26 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md 0e2e04be03195b9034ea17f05fb59519bc6aa1fc 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 11f6ad14eb334ce3e6390ca5754add1c0998d64e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 6, 2016, 9:24 p.m., Maxim Khutornenko wrote:
> > RELEASE-NOTES.md, line 14
> > <https://reviews.apache.org/r/45816/diff/3/?file=1328902#file1328902line14>
> >
> >     This is actually doc-worthy. Mind amending https://github.com/apache/aurora/blob/master/docs/development/thrift.md document with migration steps?

Do you think this belongs in thrift.md, or should we have a separate doc on db migrations?


- Joshua


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


On April 6, 2016, 9:26 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:26 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md 0e2e04be03195b9034ea17f05fb59519bc6aa1fc 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 11f6ad14eb334ce3e6390ca5754add1c0998d64e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 6, 2016, 9:24 p.m., Maxim Khutornenko wrote:
> > RELEASE-NOTES.md, line 14
> > <https://reviews.apache.org/r/45816/diff/3/?file=1328902#file1328902line14>
> >
> >     This is actually doc-worthy. Mind amending https://github.com/apache/aurora/blob/master/docs/development/thrift.md document with migration steps?
> 
> Joshua Cohen wrote:
>     Do you think this belongs in thrift.md, or should we have a separate doc on db migrations?
> 
> Maxim Khutornenko wrote:
>     A separate doc is fine. Perhaps remove outdated backfill parts here and link to the new document instead?

Added docs, not sure how good they are, please offer suggestions for what can be improved!


- Joshua


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


On April 7, 2016, 4:35 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 7, 2016, 4:35 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md ebc252f2d2f0e0c25bd2752247f0b9d4ebdd64b5 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   docs/development/db-migration.md PRE-CREATION 
>   docs/development/thrift.md 7f098c25351289510f160f85f554775b4401e37a 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java ecdaa7ee0af5d1cc4bb6a226bd7ef060d2685a7f 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127459
-----------------------------------------------------------




RELEASE-NOTES.md (line 14)
<https://reviews.apache.org/r/45816/#comment190801>

    This is actually doc-worthy. Mind amending https://github.com/apache/aurora/blob/master/docs/development/thrift.md document with migration steps?


- Maxim Khutornenko


On April 6, 2016, 9:17 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:17 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md 34f28a165aae4ae24fa95ef19b4972e088fd63a0 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127457
-----------------------------------------------------------



This patch does not apply cleanly against master (103dae6), do you need to rebase?

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On April 6, 2016, 9:17 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:17 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   RELEASE-NOTES.md 34f28a165aae4ae24fa95ef19b4972e088fd63a0 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/
-----------------------------------------------------------

(Updated April 6, 2016, 9:17 p.m.)


Review request for Aurora, Maxim Khutornenko and Bill Farner.


Changes
-------

Add an entry to RELEASE-NOTES.md


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs (updated)
-----

  RELEASE-NOTES.md 34f28a165aae4ae24fa95ef19b4972e088fd63a0 
  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/
-----------------------------------------------------------

(Updated April 6, 2016, 9:11 p.m.)


Review request for Aurora, Maxim Khutornenko and Bill Farner.


Changes
-------

Review feedback:

- Extract an interface for `MigrationManager` to allow restores to skip migrations entirely.
- Fix forcing mybatis version in build.gradle
- Change data type for downgrade script from MEDIUMBLOB to BLOB.


Bugs: AURORA-1648
    https://issues.apache.org/jira/browse/AURORA-1648


Repository: aurora


Description
-------

Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.


Diffs (updated)
-----

  build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
  config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
  src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
  src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
  src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 

Diff: https://reviews.apache.org/r/45816/diff/


Testing
-------

./gradlew build -Pq

end to end tests.

Also manually verified that migrations and rollbacks are correctly performed in vagrant.


Thanks,

Joshua Cohen


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml, line 20
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328669#file1328669line20>
> >
> >     This can be `sql`, right?
> 
> Joshua Cohen wrote:
>     Oh, good catch, probably it can!

Turns out you can't execute statements defined as `sql` so I'm sticking with `update`.


- Joshua


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


On April 6, 2016, 9:11 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 9:11 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImpl.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerImplIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Joshua Cohen <jc...@apache.org>.

> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java, line 84
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328662#file1328662line84>
> >
> >     How about making MigrationMapper an interface and sending here an anonymous no-op instance instead? I don't see any reason to run migration on restore from backup and we should simplify backup restore logic as much as possible.

Excellent idea, I'll do that!


> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java, line 40
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328665#file1328665line40>
> >
> >     Missing docs for public identifiers.

Will add.


> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java, line 65
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328665#file1328665line65>
> >
> >     Just trying to understand the logic here. How does UpOperation() know what to apply? Does it use internal version table? Why can't we use the symmetric DownOperation()?

Yes, it uses the changelog table to see what changes have been applied versus what's found via the `MigrationLoader`. We can't use the symmetric `DownOperation` because in the event of a rollback, the corresponding scripts won't be found on the classpath, and thus we won't know what their downgrade script is.

That's why I went with a slightly modified version of the standard changelog table so I can store the downgrade script in the DB. If an applied change from the DB is not found on the classpath, then we must be rolling back, so we execute the stored downgrade script.

The one thing to be wary of is this means that we can't delete the classes that define the migrations unless those changes have been baselined (i.e. incorporated into the schema and presumably we've released at least 1 version since they were added).


> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java, line 102
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328665#file1328665line102>
> >
> >     s/warn/info?

Sure.


> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml, line 20
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328669#file1328669line20>
> >
> >     This can be `sql`, right?

Oh, good catch, probably it can!


> On April 6, 2016, 8:30 p.m., Maxim Khutornenko wrote:
> > src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml, line 25
> > <https://reviews.apache.org/r/45816/diff/1/?file=1328669#file1328669line25>
> >
> >     I'd just use BLOB here.

Sure, will do.


- Joshua


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


On April 6, 2016, 7:27 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 7:27 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 45816: Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.

Posted by Maxim Khutornenko <ma...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45816/#review127429
-----------------------------------------------------------




src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java (line 84)
<https://reviews.apache.org/r/45816/#comment190721>

    How about making MigrationMapper an interface and sending here an anonymous no-op instance instead? I don't see any reason to run migration on restore from backup and we should simplify backup restore logic as much as possible.



src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java (line 40)
<https://reviews.apache.org/r/45816/#comment190722>

    Missing docs for public identifiers.



src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java (line 65)
<https://reviews.apache.org/r/45816/#comment190750>

    Just trying to understand the logic here. How does UpOperation() know what to apply? Does it use internal version table? Why can't we use the symmetric DownOperation()?



src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java (line 102)
<https://reviews.apache.org/r/45816/#comment190730>

    s/warn/info?



src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml (line 20)
<https://reviews.apache.org/r/45816/#comment190727>

    This can be `sql`, right?



src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml (line 25)
<https://reviews.apache.org/r/45816/#comment190724>

    I'd just use BLOB here.


- Maxim Khutornenko


On April 6, 2016, 7:27 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45816/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 7:27 p.m.)
> 
> 
> Review request for Aurora, Maxim Khutornenko and Bill Farner.
> 
> 
> Bugs: AURORA-1648
>     https://issues.apache.org/jira/browse/AURORA-1648
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Add support for automated DB migrations and rollbacks when restoring from dbScript stored in a snapshot.
> 
> 
> Diffs
> -----
> 
>   build.gradle ad5ec5c4afe4dd5c2189d0680692a7409f0417a9 
>   config/checkstyle/suppressions.xml 50a53e0d96cb365b2182b78769c1749b7e3558a9 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 60b66e85f83edd3c18c97e3938816cb875249d4e 
>   src/main/java/org/apache/aurora/scheduler/storage/backup/TemporaryStorage.java 5c7d92f00ddda0a1f366ba1ca33b61829fa16ad9 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java baf460e987d0a6ba2810507695fe118b6b502f87 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbUtil.java 6f4e6710863a301238043edbb7bed1c7923a0720 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationManager.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/MigrationMapper.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/db/views/MigrationChangelogEntry.java PRE-CREATION 
>   src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java 6fee2510d044515e0704cf20ec0ba77231050ec4 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/MigrationMapper.xml PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/MigrationManagerIT.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImplIT.java d93eed925d289381cdac547ad1bce749c397a07f 
> 
> Diff: https://reviews.apache.org/r/45816/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> 
> end to end tests.
> 
> Also manually verified that migrations and rollbacks are correctly performed in vagrant.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>