> On Dec. 14, 2013, 1:26 a.m., Bill Farner wrote:
> > src/main/python/twitter/aurora/client/api/updater.py, line 376
> > <https://reviews.apache.org/r/16268/diff/1/?file=397921#file397921line376>
> >
> >     I think this is unsafe. 'Error' is definitely too generic to determine 
> > that it's safe to release the lock.  Even recognizing that a 
> > locking-related error was encountered may not be enough, since in the 
> > future other locks could be held.
> 
> Maxim Khutornenko wrote:
>     The whole point of applying locks is to prevent simultaneous updates. In 
> _get_update_instructions we are just gathering information and not applying 
> any changes. The update has technically not started yet and no mutations were 
> attempted. What's the point of holding the lock at this stage?

I'm not arguing for holding the lock at this stage (though it does come with a 
check-then-act race), i'm actually arguing against releasing the lock on a 
generic Error.


- Bill


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


On Dec. 14, 2013, 1:21 a.m., Maxim Khutornenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16268/
> -----------------------------------------------------------
> 
> (Updated Dec. 14, 2013, 1:21 a.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Releasing the lock if the update is unable to start for any reason.
> 
> 
> Diffs
> -----
> 
>   src/main/python/twitter/aurora/client/api/updater.py 
> 32bd6a1bf6bf401b0341b6e14e570d83c3e79dd5 
>   src/test/python/twitter/aurora/client/api/test_updater.py 
> 0b60d9e04428eb55168e3a9c3a394f19aed2f9d2 
> 
> Diff: https://reviews.apache.org/r/16268/diff/
> 
> 
> Testing
> -------
> 
> $ ./pants src/test/python/twitter/aurora/client/api:updater
> Build operating on targets: 
> OrderedSet([PythonTests(src/test/python/twitter/aurora/client/api/BUILD:updater)])
> ==============================================================================
>  test session starts 
> ===============================================================================
> platform darwin -- Python 2.7.3 -- pytest-2.5.0
> collected 24 items 
> 
> src/test/python/twitter/aurora/client/api/test_updater.py 
> ........................
> 
> =========================================================================== 
> 24 passed in 0.26 seconds 
> ============================================================================
> src.test.python.twitter.aurora.client.api.updater                             
>   .....   SUCCESS
> 
> 
> Thanks,
> 
> Maxim Khutornenko
> 
>

Reply via email to