Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-31 Thread Maxim Khutornenko

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

(Updated July 31, 2014, 4:38 p.m.)


Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.


Changes
---

CR comments.


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


Repository: aurora


Description
---

Adding a wait_for_batch_completion option into parallel updater.


Diffs (updated)
-

  src/main/python/apache/aurora/client/api/updater.py 
05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
  src/main/python/apache/aurora/client/api/updater_util.py 
c5f8f23912701568e1ee6b69186a533fdd29a5d7 
  src/main/python/apache/aurora/config/schema/base.py 
3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
  src/test/python/apache/aurora/client/api/test_updater.py 
7020712c9f0b33ec29646482517768ccb13e881f 

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


Testing
---

./pants src/test/python:all


Thanks,

Maxim Khutornenko



Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-31 Thread Mark Chu-Carroll

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



src/main/python/apache/aurora/client/api/updater.py
https://reviews.apache.org/r/24126/#comment86208

I do not understand this method. The doc comment isn't clear, and the logic 
of it doesn't make obvious sense. 

(1) Under what conditions do you need to wait for the batch to complete? 
I'm not sure of what you're trying to capture here.

(2) This is side-effecting the queues, but the name of it suggests that 
it's just a predicate.



- Mark Chu-Carroll


On July 31, 2014, 12:38 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 31, 2014, 12:38 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-31 Thread Kevin Sweeney


 On July 31, 2014, 12:04 p.m., Kevin Sweeney wrote:
  src/main/python/apache/aurora/client/api/updater.py, lines 234-235
  https://reviews.apache.org/r/24126/diff/3/?file=646929#file646929line234
 
  I can't find any documentation that this actually works - in theory 
  http://hg.python.org/cpython/file/e49efa892efb/Lib/threading.py#l522 should 
  do it but that makes the assumption that after calling notify_all() the 
  waiting threads will be immediately scheduled to see the new value of the 
  event flag before you clear it (because if they don't see it it's a 
  deadlock).
  
  It's too bad you can't use Barrier from 3.2. 
  
  Not sure I have a better solution but seems like a potentially tricky 
  bug.

Rereading it the code does seem correct, since the monitor-protected flag is 
only checked to determine whether to wait and wait returns as soon as there's a 
wakeup.


- Kevin


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


On July 31, 2014, 9:38 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 31, 2014, 9:38 a.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-30 Thread Bill Farner

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



src/main/python/apache/aurora/client/api/updater.py
https://reviews.apache.org/r/24126/#comment86043

Nit - this flag is only gated on if not.  Consider inverting the meaning 
of the flag and don't negate.



src/main/python/apache/aurora/client/api/updater.py
https://reviews.apache.org/r/24126/#comment86044

Ditto - gate is always negative.  Consider inverting the meaning and return 
value of the function.



src/main/python/apache/aurora/client/api/updater.py
https://reviews.apache.org/r/24126/#comment86045

s/Wait/Waiting/



src/test/python/apache/aurora/client/api/test_updater.py
https://reviews.apache.org/r/24126/#comment86050

Can you add two more test cases with batch_size  1:

 - instances % batch_size == 0
 - instances % batch_size != 0


- Bill Farner


On July 30, 2014, 11:59 p.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 30, 2014, 11:59 p.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-30 Thread Bill Farner


 On July 31, 2014, 12:19 a.m., Bill Farner wrote:
  src/test/python/apache/aurora/client/api/test_updater.py, line 821
  https://reviews.apache.org/r/24126/diff/1/?file=646405#file646405line821
 
  Can you add two more test cases with batch_size  1:
  
   - instances % batch_size == 0
   - instances % batch_size != 0
 
 Maxim Khutornenko wrote:
 Unfortunately, any batch_size greater than 1 would require complete 
 refactoring of the updater unit tests and switching to python mock library. 
 Mox does not handle out of order verification properly. I have originally 
 implemented both tests but had to back out at the last moment as tests ran 
 clean only about 80% of the time with other 20% failing stub verification.

Does InAnyOrder help? 
https://code.google.com/p/pymox/wiki/MoxDocumentation#In_Any_Order


- Bill


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


On July 31, 2014, 4:09 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 31, 2014, 4:09 a.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-30 Thread Maxim Khutornenko


 On July 31, 2014, 12:19 a.m., Bill Farner wrote:
  src/test/python/apache/aurora/client/api/test_updater.py, line 821
  https://reviews.apache.org/r/24126/diff/1/?file=646405#file646405line821
 
  Can you add two more test cases with batch_size  1:
  
   - instances % batch_size == 0
   - instances % batch_size != 0
 
 Maxim Khutornenko wrote:
 Unfortunately, any batch_size greater than 1 would require complete 
 refactoring of the updater unit tests and switching to python mock library. 
 Mox does not handle out of order verification properly. I have originally 
 implemented both tests but had to back out at the last moment as tests ran 
 clean only about 80% of the time with other 20% failing stub verification.
 
 Bill Farner wrote:
 Does InAnyOrder help? 
 https://code.google.com/p/pymox/wiki/MoxDocumentation#In_Any_Order

It does not. That's exactly what I used.


- Maxim


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


On July 31, 2014, 4:09 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 31, 2014, 4:09 a.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko
 




Re: Review Request 24126: Adding a wait_for_batch_completion option into parallel updater.

2014-07-30 Thread Maxim Khutornenko


 On July 31, 2014, 12:19 a.m., Bill Farner wrote:
  src/test/python/apache/aurora/client/api/test_updater.py, line 821
  https://reviews.apache.org/r/24126/diff/1/?file=646405#file646405line821
 
  Can you add two more test cases with batch_size  1:
  
   - instances % batch_size == 0
   - instances % batch_size != 0
 
 Maxim Khutornenko wrote:
 Unfortunately, any batch_size greater than 1 would require complete 
 refactoring of the updater unit tests and switching to python mock library. 
 Mox does not handle out of order verification properly. I have originally 
 implemented both tests but had to back out at the last moment as tests ran 
 clean only about 80% of the time with other 20% failing stub verification.
 
 Bill Farner wrote:
 Does InAnyOrder help? 
 https://code.google.com/p/pymox/wiki/MoxDocumentation#In_Any_Order
 
 Maxim Khutornenko wrote:
 It does not. That's exactly what I used.

Actually, to be precise it does help to get to those 80%. Without AnyOrder() 
tests fail 100% of the time. However, something within AnyOrder() races with 
the verification and fails in 1 out of 5 runs.


- Maxim


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


On July 31, 2014, 4:09 a.m., Maxim Khutornenko wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/24126/
 ---
 
 (Updated July 31, 2014, 4:09 a.m.)
 
 
 Review request for Aurora, Kevin Sweeney, Bill Farner, and Brian Wickman.
 
 
 Bugs: AURORA-626
 https://issues.apache.org/jira/browse/AURORA-626
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Adding a wait_for_batch_completion option into parallel updater.
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/api/updater.py 
 05b4c0c76ac2a8551f3aa370ab487f9f0802c3dc 
   src/main/python/apache/aurora/client/api/updater_util.py 
 c5f8f23912701568e1ee6b69186a533fdd29a5d7 
   src/main/python/apache/aurora/config/schema/base.py 
 3b90ccb33e6ffef9e14befd42d95b8b8a94e949b 
   src/test/python/apache/aurora/client/api/test_updater.py 
 7020712c9f0b33ec29646482517768ccb13e881f 
 
 Diff: https://reviews.apache.org/r/24126/diff/
 
 
 Testing
 ---
 
 ./pants src/test/python:all
 
 
 Thanks,
 
 Maxim Khutornenko