@@ -61,7 +61,7 @@ use datafusion::datasource::TableProvider;
6161use datafusion:: execution:: context:: {
6262 DataFilePaths , SQLOptions , SessionConfig , SessionContext , TaskContext ,
6363} ;
64- use datafusion:: execution:: disk_manager:: DiskManagerConfig ;
64+ use datafusion:: execution:: disk_manager:: DiskManagerMode ;
6565use datafusion:: execution:: memory_pool:: { FairSpillPool , GreedyMemoryPool , UnboundedMemoryPool } ;
6666use datafusion:: execution:: options:: ReadOptions ;
6767use datafusion:: execution:: runtime_env:: RuntimeEnvBuilder ;
@@ -183,22 +183,49 @@ impl PyRuntimeEnvBuilder {
183183 }
184184
185185 fn with_disk_manager_disabled ( & self ) -> Self {
186- let mut builder = self . builder . clone ( ) ;
187- builder = builder. with_disk_manager ( DiskManagerConfig :: Disabled ) ;
188- Self { builder }
186+ let mut runtime_builder = self . builder . clone ( ) ;
187+
188+ let mut disk_mgr_builder = runtime_builder
189+ . disk_manager_builder
190+ . clone ( )
191+ . unwrap_or_default ( ) ;
192+ disk_mgr_builder. set_mode ( DiskManagerMode :: Disabled ) ;
193+
194+ runtime_builder = runtime_builder. with_disk_manager_builder ( disk_mgr_builder) ;
195+ Self {
196+ builder : runtime_builder,
197+ }
189198 }
190199
191200 fn with_disk_manager_os ( & self ) -> Self {
192- let builder = self . builder . clone ( ) ;
193- let builder = builder. with_disk_manager ( DiskManagerConfig :: NewOs ) ;
194- Self { builder }
201+ let mut runtime_builder = self . builder . clone ( ) ;
202+
203+ let mut disk_mgr_builder = runtime_builder
204+ . disk_manager_builder
205+ . clone ( )
206+ . unwrap_or_default ( ) ;
207+ disk_mgr_builder. set_mode ( DiskManagerMode :: OsTmpDirectory ) ;
208+
209+ runtime_builder = runtime_builder. with_disk_manager_builder ( disk_mgr_builder) ;
210+ Self {
211+ builder : runtime_builder,
212+ }
195213 }
196214
197215 fn with_disk_manager_specified ( & self , paths : Vec < String > ) -> Self {
198- let builder = self . builder . clone ( ) ;
199216 let paths = paths. iter ( ) . map ( |s| s. into ( ) ) . collect ( ) ;
200- let builder = builder. with_disk_manager ( DiskManagerConfig :: NewSpecified ( paths) ) ;
201- Self { builder }
217+ let mut runtime_builder = self . builder . clone ( ) ;
218+
219+ let mut disk_mgr_builder = runtime_builder
220+ . disk_manager_builder
221+ . clone ( )
222+ . unwrap_or_default ( ) ;
223+ disk_mgr_builder. set_mode ( DiskManagerMode :: Directories ( paths) ) ;
224+
225+ runtime_builder = runtime_builder. with_disk_manager_builder ( disk_mgr_builder) ;
226+ Self {
227+ builder : runtime_builder,
228+ }
202229 }
203230
204231 fn with_unbounded_memory_pool ( & self ) -> Self {
0 commit comments