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? [ Full content available at: https://github.com/apache/incubator-openwhisk/issues/4024 ] This message was relayed via gitbox.apache.org for [email protected]
