ntjohnson1 opened a new pull request, #1252: URL: https://github.com/apache/datafusion-python/pull/1252
# Which issue does this PR close? Covers most of https://github.com/apache/datafusion-python/issues/1250 # Rationale for this change Previous PR fixed inability to use python threads around SessionContext https://github.com/apache/datafusion-python/pull/1248 Suggested that we mark all possible classes frozen to be more explicit/better thread support. # What changes are included in this PR? * Fix a typos setting that failed for me locally * For all classes that don't mutate members just add frozen tag * For two classes apply `Arc<Mutex` as a strategy to manage `Sync` and `frozen` * Maybe for PyConfig `RwLock` is better since we might be reading configs more than writing * Left todos for remaining pyclasses * everything with `pyo3[(get,set)]` would require new wrapper code for each member if we think frozen makes sense * CaseBuilder was a bit messier. If we derive clone upstream then `Arc<Mutex` works decently. I don't expect anything here to be a major performance delta. It wasn't clear if there was a good way to check that. The benchmarks look more interested in datafusion vs other tools rather than comparing branches. # Are there any user-facing changes? There are no user-facing python changes. I'm don't think the wrapper code is considered public apis. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
