File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -33,6 +33,9 @@ class InvalidServerPreference < Error
3333 # Error message when hedge is specified for a read preference that does not support it.
3434 #
3535 # @api private
36+ #
37+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
38+ # be removed in a future version.
3639 NO_HEDGE_SUPPORT = 'The hedge option cannot be set for this read preference'
3740
3841 # Error message for when the max staleness is not at least twice the heartbeat frequency.
Original file line number Diff line number Diff line change @@ -37,6 +37,8 @@ class Base
3737 # reads on the server. Hedged reads are not enabled by default. When
3838 # specifying this option, it must be in the format: { enabled: true },
3939 # where the value of the :enabled key is a boolean value.
40+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
41+ # be removed in a future version.
4042 #
4143 # @raise [ Error::InvalidServerPreference ] If tag sets are specified
4244 # but not allowed.
@@ -51,6 +53,14 @@ def initialize(options = nil)
5153 @hedge = options [ :hedge ]
5254
5355 validate!
56+
57+ return if @hedge . nil?
58+
59+ Mongo ::Deprecations . warn (
60+ :hedge_read_preference ,
61+ 'The hedge read preference option is deprecated. Hedged reads are ' \
62+ 'deprecated in MongoDB Server 8.0 and will be removed in a future version.'
63+ )
5464 end
5565
5666 # @return [ Hash ] options The options.
@@ -67,6 +77,9 @@ def initialize(options = nil)
6777
6878 # @return [ Hash | nil ] hedge The document specifying whether to enable
6979 # hedged reads.
80+ #
81+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
82+ # be removed in a future version.
7083 attr_reader :hedge
7184
7285 # Get the timeout for server selection.
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ def tags_allowed?
5959 # Whether the hedge option is allowed to be defined for this server preference.
6060 #
6161 # @return [ true ] true
62+ #
63+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
64+ # be removed in a future version.
6265 def hedge_allowed?
6366 true
6467 end
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ def tags_allowed?
5959 # Whether the hedge option is allowed to be defined for this server preference.
6060 #
6161 # @return [ false ] false
62+ #
63+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
64+ # be removed in a future version.
6265 def hedge_allowed?
6366 false
6467 end
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ def tags_allowed?
5959 # Whether the hedge option is allowed to be defined for this server preference.
6060 #
6161 # @return [ true ] true
62+ #
63+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
64+ # be removed in a future version.
6265 def hedge_allowed?
6366 true
6467 end
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ def tags_allowed?
5959 # Whether the hedge option is allowed to be defined for this server preference.
6060 #
6161 # @return [ true ] true
62+ #
63+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
64+ # be removed in a future version.
6265 def hedge_allowed?
6366 true
6467 end
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ def tags_allowed?
5959 # Whether the hedge option is allowed to be defined for this server preference.
6060 #
6161 # @return [ true ] true
62+ #
63+ # @deprecated Hedged reads are deprecated in MongoDB Server 8.0 and will
64+ # be removed in a future version.
6265 def hedge_allowed?
6366 true
6467 end
You can’t perform that action at this time.
0 commit comments