You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Jordan Ly <jo...@gmail.com> on 2018/01/04 00:38:53 UTC

Re: Review Request 64519: Add a test to detect incompatible storage changes

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


Ship it!




This LGTM!

- Jordan Ly


On Dec. 12, 2017, 1:35 a.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64519/
> -----------------------------------------------------------
> 
> (Updated Dec. 12, 2017, 1:35 a.m.)
> 
> 
> Review request for Aurora, David McLaughlin, Jordan Ly, and Stephan Erb.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> This is intended as a safeguard against future compatibility regressions like [AURORA-1959](https://issues.apache.org/jira/browse/AURORA-1959).
> 
> I approached this with a few goals:
> 
>   - golden files should be text-based and human-readable.  This allows for non-opaque code reviews, and simpler remedy when it's necessary to update the goldens (i.e. copy-pasteable)
>   - guidance for schema evolution should be included directly in test failures
>   - separate detection of 'what the scheduler _can_ read' and 'what the scheduler writes'
>   - reasonably-complete schema coverage with minimal manual labor.  These tests auto-generate structs to mitigate maintenance burden of test code as schemas evolve.
> 
> This is not a replacement for vigilance with data compatibility, but it should at least
> 
> 1. mitigate unintentional breakages in compatibility, especially for new contributors
> 2. draw code reviewer attention to compatibility changes in a patch (signaled by changes to golden files)
> 
> 
> Diffs
> -----
> 
>   src/test/java/org/apache/aurora/scheduler/storage/durability/DataCompatibilityTest.java PRE-CREATION 
>   src/test/java/org/apache/aurora/scheduler/storage/durability/Generator.java PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/pruneJobUpdateHistory PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/removeJob PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/removeJobUpdate PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/removeLock PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/removeQuota PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/removeTasks PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveCronJob PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveFrameworkId PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveHostAttributes PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveJobInstanceUpdateEvent PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveJobUpdate PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveJobUpdateEvent PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveLock PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveQuota PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/current/saveTasks PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/1-pruneJobUpdateHistory PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/10-saveJobUpdate PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/11-saveJobUpdateEvent PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/12-saveJobInstanceUpdateEvent PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/13-saveLock PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/14-saveQuota PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/15-saveTasks PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/2-removeJob PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/3-removeJobUpdate PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/4-removeLock PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/5-removeQuota PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/6-removeTasks PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/7-saveCronJob PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/8-saveFrameworkId PRE-CREATION 
>   src/test/resources/org/apache/aurora/scheduler/storage/durability/goldens/read-compatible/9-saveHostAttributes PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/64519/diff/4/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bill Farner
> 
>