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
This issue is about taking incorporating this new behavior(s) in ObjectStore and incorporating it here in datafusion such that the custom data on a SessionConfig is passed on when creating GetOptionss instances for retrieving files from an object store.
Describe the solution you'd like
I think the simplest approach here would be one where we create a new ObjectStore implementation during query execution that looks something like:
With this approach, whenever the resulting Arc<dyn ObjectStore> is used to retrieve a file from object store, the underlying implementation would have access to the object_store::Extensions created from the SessionConfig extensions.
Is your feature request related to a problem or challenge?
In apache/arrow-rs-object-store#17 I've described a general need for the
ObjectStore
trait to be able to support passing contextual data to custom implementations. In apache/arrow-rs#7160 I have implemented and approach to this by providing the ability forGetOptions
to store opaque instances of values indexed by theirTypeId
, similar to what is possible in datafusion withSessionConfig
.This issue is about taking incorporating this new behavior(s) in
ObjectStore
and incorporating it here in datafusion such that the custom data on aSessionConfig
is passed on when creatingGetOptions
s instances for retrieving files from an object store.Describe the solution you'd like
I think the simplest approach here would be one where we create a new
ObjectStore
implementation during query execution that looks something like:We would then have a
get_opts
method for theObjectStore
impl trait that looks something like:Initializing instances of this new type as a wrapper around whatever given
Arc<dyn ObjectStore>
is available would look something like:With this approach, whenever the resulting
Arc<dyn ObjectStore>
is used to retrieve a file from object store, the underlying implementation would have access to theobject_store::Extensions
created from theSessionConfig
extensions.Describe alternatives you've considered
This is covered in apache/arrow-rs-object-store#17 and apache/arrow-rs#7135.
Basically, there are two alternative directions:
ObjectStore
API by providing optional trait methods that take an actual context type that can carry custom/extension data.Additional context
No response
The text was updated successfully, but these errors were encountered: