Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-213-Sporadic-tests-failures-over-locked-database-issue 6e54fef39 -> decbc4ee5
better handling Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/decbc4ee Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/decbc4ee Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/decbc4ee Branch: refs/heads/ARIA-213-Sporadic-tests-failures-over-locked-database-issue Commit: decbc4ee59034b06eddae8ec9227884c20bec7c1 Parents: 6e54fef Author: max-orlov <[email protected]> Authored: Wed May 10 19:27:40 2017 +0300 Committer: max-orlov <[email protected]> Committed: Wed May 10 19:27:40 2017 +0300 ---------------------------------------------------------------------- aria/storage/instrumentation.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/decbc4ee/aria/storage/instrumentation.py ---------------------------------------------------------------------- diff --git a/aria/storage/instrumentation.py b/aria/storage/instrumentation.py index b1e9cd7..b0738c8 100644 --- a/aria/storage/instrumentation.py +++ b/aria/storage/instrumentation.py @@ -102,13 +102,11 @@ class _Instrumentation(object): session.expunge(instance) tracked_instances = self.new_instances.setdefault(instance.__modelname__, {}) tracked_attributes = tracked_instances.setdefault(self._new_instance_id, {}) - # TODO: we need a better way to get all of the attributes - tracked_attributes.update(execution_fk=instance.execution_fk, - task_fk=instance.task_fk, - **instance.to_dict()) - listener_args = (getattr(ctx.model, instrumented_class.__tablename__)._session, - 'after_attach', - listener) + instance_as_dict = instance.to_dict() + instance_as_dict.update((k, getattr(instance, k)) for k in instance.__private_fields__) + tracked_attributes.update(instance_as_dict) + session = getattr(ctx.model, instrumented_class.__tablename__)._session + listener_args = (session, 'after_attach', listener) sqlalchemy.event.listen(*listener_args) self.listeners.append(listener_args)
