Skip to content

Commit fcf1c1c

Browse files
committed
metadata: Add server_version field to Peer
This is a non-breaking change, because `Peer` is non_exhaustive.
1 parent 340338f commit fcf1c1c

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

scylla/src/cluster/metadata.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ pub(crate) struct Metadata {
123123
#[non_exhaustive] // <- so that we can add more fields in a backwards-compatible way
124124
pub struct Peer {
125125
pub host_id: Uuid,
126+
pub server_version: Option<String>,
126127
pub address: NodeAddr,
127128
pub tokens: Vec<Token>,
128129
pub datacenter: Option<String>,
@@ -408,6 +409,7 @@ impl Metadata {
408409
datacenter: None,
409410
rack: None,
410411
host_id: Uuid::new_v4(),
412+
server_version: None,
411413
}
412414
})
413415
.collect();
@@ -746,7 +748,6 @@ impl ControlConnection {
746748
#[scylla(crate = "scylla_cql")]
747749
struct NodeInfoRow {
748750
host_id: Option<Uuid>,
749-
#[allow(dead_code)] // TODO: remove later
750751
#[scylla(rename = "release_version")]
751752
server_version: Option<String>,
752753
#[scylla(rename = "rpc_address")]
@@ -850,7 +851,7 @@ impl ControlConnection {
850851
) -> Option<Peer> {
851852
let NodeInfoRow {
852853
host_id,
853-
server_version: _,
854+
server_version,
854855
untranslated_ip_addr,
855856
datacenter,
856857
rack,
@@ -903,6 +904,7 @@ impl ControlConnection {
903904

904905
Some(Peer {
905906
host_id,
907+
server_version,
906908
address: node_addr,
907909
tokens,
908910
datacenter,

scylla/src/policies/load_balancing/default.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,6 +1437,7 @@ mod tests {
14371437
address: id_to_invalid_addr(*id),
14381438
tokens: vec![Token::new(*id as i64 * 100)],
14391439
host_id: Uuid::new_v4(),
1440+
server_version: None,
14401441
})
14411442
.collect::<Vec<_>>();
14421443

scylla/src/routing/locator/test.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
6464
address: id_to_invalid_addr(1),
6565
tokens: vec![Token::new(50), Token::new(250), Token::new(400)],
6666
host_id: Uuid::new_v4(),
67+
server_version: None,
6768
},
6869
Peer {
6970
// B
@@ -72,6 +73,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
7273
address: id_to_invalid_addr(2),
7374
tokens: vec![Token::new(100), Token::new(600), Token::new(900)],
7475
host_id: Uuid::new_v4(),
76+
server_version: None,
7577
},
7678
Peer {
7779
// C
@@ -80,6 +82,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
8082
address: id_to_invalid_addr(3),
8183
tokens: vec![Token::new(300), Token::new(650), Token::new(700)],
8284
host_id: Uuid::new_v4(),
85+
server_version: None,
8386
},
8487
Peer {
8588
// D
@@ -88,6 +91,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
8891
address: id_to_invalid_addr(4),
8992
tokens: vec![Token::new(350), Token::new(550)],
9093
host_id: Uuid::new_v4(),
94+
server_version: None,
9195
},
9296
Peer {
9397
// E
@@ -96,6 +100,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
96100
address: id_to_invalid_addr(5),
97101
tokens: vec![Token::new(150), Token::new(750)],
98102
host_id: Uuid::new_v4(),
103+
server_version: None,
99104
},
100105
Peer {
101106
// F
@@ -104,6 +109,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
104109
address: id_to_invalid_addr(6),
105110
tokens: vec![Token::new(200), Token::new(450)],
106111
host_id: Uuid::new_v4(),
112+
server_version: None,
107113
},
108114
Peer {
109115
// G
@@ -112,6 +118,7 @@ pub(crate) fn mock_metadata_for_token_aware_tests() -> Metadata {
112118
address: id_to_invalid_addr(7),
113119
tokens: vec![Token::new(500), Token::new(800)],
114120
host_id: Uuid::new_v4(),
121+
server_version: None,
115122
},
116123
];
117124

0 commit comments

Comments
 (0)