fwbrasil / activate

Abandoned: Pluggable persistence in Scala
GNU Lesser General Public License v2.1
299 stars 46 forks source link

invariant statement executed twice when false #152

Open ThijsBroersen opened 10 years ago

ThijsBroersen commented 10 years ago

Hi Flavio,

I found out that when an invariant statement outputs false it is immediately executed again before throwing the InvariantViolationException. Is this correct?

Kind regards, Thijs

fwbrasil commented 10 years ago

This is the expected behavior, since the validation is done in more than one phase. Is it affecting your application's behavior?

ThijsBroersen commented 10 years ago

Thanks for the reply! It is not affecting my application's behavior too much, but I noticed it in my debug-logging and I do not see the logic: each executing gives the same result so why is there more than one validation phase?

fwbrasil commented 10 years ago

Yeah, there is space for optimizations for the invariants. Lets keep this issue open to review the invariant validation phases.