commit | e116f12d527fae6511c4ba761822a23ca099cadd | [log] [tgz] |
---|---|---|
author | Charles Chan <rascov@gmail.com> | Mon Jan 07 19:59:10 2019 -0800 |
committer | Charles Chan <rascov@gmail.com> | Tue Jan 08 18:35:08 2019 -0800 |
tree | 81a8f3d09612b6caaabb3ef94f2cd1d844c69e50 | |
parent | 2f2dbcaf549cd451d0aaccb0248394246f631b48 [diff] |
Prevent objective context from being executed multiple times Consider the following sequence: 1. Flow objective issued 2. Cache timeout since the objective is not processed in time. onError()() will be triggered with ObjectiveError.INSTALLATIONTIMEOUT 3. While 2 is still being processed, the objective actually completed. onSuccess() will be triggered and therefore the same objective will be dequeued and executed again The unit test was also wrong. One objective context should only be executed once no matter the objective succeeded or failed. In addition, we also fix unit test. The execution time was originally set to a value that is too close to the timeout. Therefore, there is chance that it will actually make it in time. The purpose of this patch is to further delayed the execution time and therefore get a better chance to create a true timeout. Change-Id: I2501903bebee6fd9eefb03a71042c4a06ba4c42f
ONOS is a new SDN network operating system designed for high availability, performance, scale-out.