As described in #588, lof and light_lof have a difference in anomaly client API.
However, this causes two other problems.
To solve this problem in 0.5.3 without breaking compatibility, we will add abstraction method to anomaly_base.hpp for switching the behavior in light_lof.cpp and lof.cpp.
From anomaly driver, we will call the abstract method.
To avoid the behavior difference of add for light_lof and lof, we check the existence of id and throw a runtime error when it already exists.
In #737, anomaly driver checks whether its anomaly model is updatable (of which update_row only works) or not (of which set_row only works).
Though this might not be a good solution, the way add behaves is now consistent for both lof and light_lof. Clearer solution must be done to #588.
I opened another issue to add driver test for light_lof in #738.
Fixed via jubatus/jubatus_core#9.