You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A couple of months ago, we added InvocationContext, a cross-thread context manager supporting isolation between dbt invocations. Now we want to support extensions and modifications of its runtime behavior without requiring changes in dbt-common. This will mean designing and implementing a general mechanism for registering and using context objects. Uses cases include:
Environment variable cache (originally added for performance reasons)
Flags object
Relation cache
invocation_id
EventManager
Adapter manager
Record/Replay manager
Most other objects currently implemented as global variables in dbt
The key will be to provide a way to register and manage the lifetimes of these objects with the InvocationContext, while allowing them to be defined and implemented in the libraries that depend on dbt-common.
Acceptance criteria
TBD
Suggested Tests
TBD
Impact to Other Teams
None
Will backports be required?
No
The text was updated successfully, but these errors were encountered:
Short description
A couple of months ago, we added InvocationContext, a cross-thread context manager supporting isolation between dbt invocations. Now we want to support extensions and modifications of its runtime behavior without requiring changes in dbt-common. This will mean designing and implementing a general mechanism for registering and using context objects. Uses cases include:
The key will be to provide a way to register and manage the lifetimes of these objects with the InvocationContext, while allowing them to be defined and implemented in the libraries that depend on dbt-common.
Acceptance criteria
TBD
Suggested Tests
TBD
Impact to Other Teams
None
Will backports be required?
No
The text was updated successfully, but these errors were encountered: