Set namespace object's traversal_ids on commit
What does this MR do and why?
When we create a Namespace
object we previously left the traversal_ids
attribute empty. This value was created by the database. This meant we only got the traversal_ids
value on an object reload, after create.
This MR will define the traversal_ids
attribute on object creation. The attribute value is still set by the database.
There is a slim chance of a race condition which is why we set the value through the database. However, it's quite an inconvenience to not have the value available after creation and we need this to finally remove a number of feature flags.
In an ideal world we would use a SQL INSERT
with an optional RETURNING
that includes the traversal_ids
attribute.
Furthermore, due to the changes made here an errors was discovered in a related part of the code which has also been corrected by this MR at !104328 (diffs)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.