Skip to content

Commit 4f05f3b

Browse files
Merge pull request #188 from influxdata/crepererum/get_lead_mode_log
refactor: log metadata mode in `get_leader`
2 parents 1b01bc0 + 9d83f32 commit 4f05f3b

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

src/client/controller.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ impl ControllerClient {
108108
// Request an uncached, fresh copy of the metadata.
109109
let (metadata, _gen) = self
110110
.brokers
111-
.request_metadata(MetadataLookupMode::ArbitraryBroker, Some(vec![]))
111+
.request_metadata(&MetadataLookupMode::ArbitraryBroker, Some(vec![]))
112112
.await?;
113113

114114
let controller_id = metadata

src/client/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ impl Client {
154154
// will update the cached metadata entry.
155155
let (response, _gen) = self
156156
.brokers
157-
.request_metadata(MetadataLookupMode::ArbitraryBroker, None)
157+
.request_metadata(&MetadataLookupMode::ArbitraryBroker, None)
158158
.await?;
159159

160160
Ok(response

src/client/partition.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ impl PartitionClient {
341341
) -> Result<(i32, Option<MetadataCacheGeneration>)> {
342342
let (metadata, gen) = self
343343
.brokers
344-
.request_metadata(metadata_mode, Some(vec![self.topic.clone()]))
344+
.request_metadata(&metadata_mode, Some(vec![self.topic.clone()]))
345345
.await?;
346346

347347
let topic = metadata
@@ -403,6 +403,7 @@ impl PartitionClient {
403403
topic=%self.topic,
404404
partition=%self.partition,
405405
leader=partition.leader_id.0,
406+
%metadata_mode,
406407
"Detected leader",
407408
);
408409
Ok((partition.leader_id.0, gen))

src/connection.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,16 @@ pub enum MetadataLookupMode<B = BrokerConnection> {
7676
CachedArbitrary,
7777
}
7878

79+
impl<B> std::fmt::Display for MetadataLookupMode<B> {
80+
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
81+
match self {
82+
Self::ArbitraryBroker => write!(f, "ArbitraryBroker"),
83+
Self::SpecificBroker(_) => f.debug_tuple("SpecificBroker").field(&"...").finish(),
84+
Self::CachedArbitrary => write!(f, "CachedArbitrary"),
85+
}
86+
}
87+
}
88+
7989
/// Info needed to connect to a broker, with [optional broker ID](Self::id) for debugging
8090
enum BrokerRepresentation {
8191
/// URL specified as a bootstrap broker
@@ -193,7 +203,7 @@ impl BrokerConnector {
193203

194204
/// Fetch and cache metadata
195205
pub async fn refresh_metadata(&self) -> Result<()> {
196-
self.request_metadata(MetadataLookupMode::ArbitraryBroker, None)
206+
self.request_metadata(&MetadataLookupMode::ArbitraryBroker, None)
197207
.await?;
198208

199209
Ok(())
@@ -223,7 +233,7 @@ impl BrokerConnector {
223233
/// entry - doing so will panic.
224234
pub async fn request_metadata(
225235
&self,
226-
metadata_mode: MetadataLookupMode,
236+
metadata_mode: &MetadataLookupMode,
227237
topics: Option<Vec<String>>,
228238
) -> Result<(MetadataResponse, Option<MetadataCacheGeneration>)> {
229239
// Return a cached metadata response as an optimisation to prevent
@@ -251,7 +261,7 @@ impl BrokerConnector {
251261
allow_auto_topic_creation: None,
252262
};
253263

254-
let response = metadata_request_with_retry(&metadata_mode, &request, backoff, self).await?;
264+
let response = metadata_request_with_retry(metadata_mode, &request, backoff, self).await?;
255265

256266
// If the request was for a full, unfiltered set of topics, cache the
257267
// response for later calls to make use of.

0 commit comments

Comments
 (0)