Skip to content

Commit 7e0b042

Browse files
committed
Account path as string and remove dependency to object_store
1 parent 04740f3 commit 7e0b042

3 files changed

Lines changed: 8 additions & 15 deletions

File tree

datafusion/common/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ indexmap = { workspace = true }
7777
itertools = { workspace = true }
7878
libc = "0.2.184"
7979
log = { workspace = true }
80-
object_store = { workspace = true, optional = true, default-features = true }
80+
object_store = { workspace = true, optional = true }
8181
parquet = { workspace = true, optional = true, default-features = true }
8282
recursive = { workspace = true, optional = true }
8383
sqlparser = { workspace = true, optional = true }

datafusion/common/src/heap_size.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ use arrow::datatypes::{
2626
};
2727
use chrono::{DateTime, Utc};
2828
use half::f16;
29-
use object_store::path::Path;
3029
use std::collections::HashMap;
3130
use std::fmt::Debug;
3231
use std::sync::Arc;
@@ -180,12 +179,6 @@ impl DFHeapSize for DataType {
180179
}
181180
}
182181

183-
impl DFHeapSize for Path {
184-
fn heap_size(&self) -> usize {
185-
self.as_ref().heap_size()
186-
}
187-
}
188-
189182
impl<T: DFHeapSize> DFHeapSize for Vec<T> {
190183
fn heap_size(&self) -> usize {
191184
let item_size = size_of::<T>();

datafusion/execution/src/cache/cache_unit.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ impl DefaultFileStatisticsCacheState {
9999
key: &Path,
100100
value: CachedFileMetadata,
101101
) -> Option<CachedFileMetadata> {
102-
let key_size = key.heap_size();
102+
let key_size = key.as_ref().heap_size();
103103
let entry_size = value.heap_size();
104104

105105
if entry_size + key_size > self.memory_limit {
@@ -114,7 +114,7 @@ impl DefaultFileStatisticsCacheState {
114114
if let Some(old_entry) = &old_value {
115115
self.memory_used -= old_entry.heap_size();
116116
} else {
117-
self.memory_used += key.heap_size();
117+
self.memory_used += key.as_ref().heap_size();
118118
}
119119

120120
self.evict_entries();
@@ -124,7 +124,7 @@ impl DefaultFileStatisticsCacheState {
124124

125125
fn remove(&mut self, k: &Path) -> Option<CachedFileMetadata> {
126126
if let Some(old_entry) = self.lru_queue.remove(k) {
127-
self.memory_used -= k.heap_size();
127+
self.memory_used -= k.as_ref().heap_size();
128128
self.memory_used -= old_entry.heap_size();
129129
Some(old_entry)
130130
} else {
@@ -148,7 +148,7 @@ impl DefaultFileStatisticsCacheState {
148148
fn evict_entries(&mut self) {
149149
while self.memory_used > self.memory_limit {
150150
if let Some(removed) = self.lru_queue.pop() {
151-
self.memory_used -= removed.0.heap_size();
151+
self.memory_used -= removed.0.as_ref().heap_size();
152152
self.memory_used -= removed.1.heap_size();
153153
} else {
154154
// cache is empty while memory_used > memory_limit, cannot happen
@@ -552,9 +552,9 @@ mod tests {
552552
let (meta_2, value_2) = create_cached_file_metadata_with_stats("test2.parquet");
553553
let (meta_3, value_3) = create_cached_file_metadata_with_stats("test3.parquet");
554554

555-
let limit_for_2_entries = meta_1.location.heap_size()
555+
let limit_for_2_entries = meta_1.location.as_ref().heap_size()
556556
+ value_1.heap_size()
557-
+ meta_2.location.heap_size()
557+
+ meta_2.location.as_ref().heap_size()
558558
+ value_2.heap_size();
559559

560560
// create a cache with a limit which fits exactly 2 entries
@@ -589,7 +589,7 @@ mod tests {
589589
assert_eq!(cache.len(), 1);
590590
assert_eq!(
591591
cache.memory_used(),
592-
meta_3.location.heap_size() + value_3.heap_size()
592+
meta_3.location.as_ref().heap_size() + value_3.heap_size()
593593
);
594594

595595
cache.clear();

0 commit comments

Comments
 (0)