|
15 | 15 | // specific language governing permissions and limitations |
16 | 16 | // under the License. |
17 | 17 |
|
18 | | -//! [`MemoryPool`] for memory management during query execution, [`proxy]` for |
| 18 | +//! [`MemoryPool`] for memory management during query execution, [`proxy`] for |
19 | 19 | //! help with allocation accounting. |
20 | 20 |
|
21 | 21 | use datafusion_common::{internal_err, Result}; |
@@ -108,6 +108,9 @@ pub use pool::*; |
108 | 108 | /// |
109 | 109 | /// * [`FairSpillPool`]: Limits memory usage to a fixed size, allocating memory |
110 | 110 | /// to all spilling operators fairly |
| 111 | +/// |
| 112 | +/// * [`TrackConsumersPool`]: Wraps another [`MemoryPool`] and tracks consumers, |
| 113 | +/// providing better error messages on the largest memory users. |
111 | 114 | pub trait MemoryPool: Send + Sync + std::fmt::Debug { |
112 | 115 | /// Registers a new [`MemoryConsumer`] |
113 | 116 | /// |
@@ -140,9 +143,9 @@ pub trait MemoryPool: Send + Sync + std::fmt::Debug { |
140 | 143 | /// [`MemoryReservation`] in a [`MemoryPool`]. All allocations are registered to |
141 | 144 | /// a particular `MemoryConsumer`; |
142 | 145 | /// |
143 | | -/// For help with allocation accounting, see the [proxy] module. |
| 146 | +/// For help with allocation accounting, see the [`proxy`] module. |
144 | 147 | /// |
145 | | -/// [proxy]: crate::memory_pool::proxy |
| 148 | +/// [proxy]: datafusion_common::utils::proxy |
146 | 149 | #[derive(Debug, PartialEq, Eq, Hash, Clone)] |
147 | 150 | pub struct MemoryConsumer { |
148 | 151 | name: String, |
|
0 commit comments