@@ -140,6 +140,7 @@ impl std::fmt::Display for ReadPreference {
140
140
if let Some ( ref max_staleness) = options. max_staleness {
141
141
write ! ( f, ", Max Staleness: {:?}" , max_staleness) ?;
142
142
}
143
+ #[ allow( deprecated) ]
143
144
if let Some ( ref hedge) = options. hedge {
144
145
write ! ( f, ", Hedge: {}" , hedge. enabled) ?;
145
146
}
@@ -215,6 +216,7 @@ impl Serialize for ReadPreference {
215
216
}
216
217
217
218
/// Specifies read preference options for non-primary read preferences.
219
+ #[ allow( deprecated) ]
218
220
#[ serde_with:: skip_serializing_none]
219
221
#[ derive( Clone , Debug , Default , Serialize , Deserialize , PartialEq , TypedBuilder ) ]
220
222
#[ builder( field_defaults( default , setter( into) ) ) ]
@@ -241,15 +243,21 @@ pub struct ReadPreferenceOptions {
241
243
242
244
/// Specifies hedging behavior for reads. These options only apply to sharded clusters on
243
245
/// servers that are at least version 4.4. Note that hedged reads are automatically enabled for
244
- /// read preference mode "nearest".
246
+ /// read preference mode "nearest" on server versions less than 8.0 .
245
247
///
246
248
/// See the [MongoDB docs](https://www.mongodb.com/docs/manual/core/read-preference-hedge-option/) for more details.
249
+ #[ deprecated(
250
+ note = "hedged reads are deprecated as of MongoDB 8.0 and will be removed in a future \
251
+ server version"
252
+ ) ]
247
253
pub hedge : Option < HedgedReadOptions > ,
248
254
}
249
255
250
256
impl ReadPreferenceOptions {
251
257
pub ( crate ) fn is_default ( & self ) -> bool {
252
- self . hedge . is_none ( )
258
+ #[ allow( deprecated) ]
259
+ let hedge = self . hedge . is_some ( ) ;
260
+ !hedge
253
261
&& self . max_staleness . is_none ( )
254
262
&& self
255
263
. tag_sets
@@ -354,6 +362,7 @@ mod test {
354
362
355
363
#[ test]
356
364
fn hedged_read_included_in_document ( ) {
365
+ #[ allow( deprecated) ]
357
366
let options = Some (
358
367
ReadPreferenceOptions :: builder ( )
359
368
. hedge ( HedgedReadOptions { enabled : true } )
0 commit comments