chetanmeh commented on issue #4024: Intermittent failure in WskRuleTests with 
multiple controllers
URL: 
https://github.com/apache/incubator-openwhisk/issues/4024#issuecomment-422031280
 
 
   In summary following sequence of events happened
   
   1. Trigger gets created on C1. It also gets cached here with rev r1
   2. r2to2c updates the trigger on C2. As its not in cache it is read at rev 
r1 and updated to rev r2 (not seen in logs)
   3. Then r2to2d tries to update the trigger on C1. Here it finds the entry in 
cache and hence tries to update using rev r1 and end up in conflict
   4. So due to conflict the trigger gets linked to only one action. Here the 
test case should have failed for conflict but it moved on ...
   5. When this trigger gets evaluated then as only one action is configured it 
leads to test failure.
   
   As our regular test on travis only run with 1 Controller and 1 Invoker this 
failure is not seen.
   
   ### Testcase not failing on conflict
   
   It probably happens because `WskRestOperations` uses the `SwaggerValidator` 
to validate expected response for each HTTP call made. This validation checks 
against expected response code from swagger defn which in this case do list 409 
as expected response. And hence test flow misses to detect that it should have 
failed at that point.
   
   Probably here test should check if all prior operation result in 202 or 200
   
   ### Why intermittent failure
   
   May be in success case the cache entry gets invalidated before second 
trigger update happens or request land on same node
   
   Is above understanding correct? 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to