Skip to content

Commit dcc4d49

Browse files
committed
retries it: teardown keyspaces
1 parent d538129 commit dcc4d49

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

scylla/tests/integration/session/retries.rs

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ use scylla::client::session_builder::SessionBuilder;
55
use scylla::policies::retry::FallthroughRetryPolicy;
66
use scylla::policies::speculative_execution::SimpleSpeculativeExecutionPolicy;
77
use scylla::statement::unprepared::Statement;
8+
use std::collections::HashMap;
9+
use std::net::SocketAddr;
810
use std::sync::Arc;
911
use std::time::Duration;
1012
use tracing::info;
@@ -37,7 +39,7 @@ async fn speculative_execution_is_fired() {
3739

3840
let ks = unique_keyspace_name();
3941
session.ddl(format!("CREATE KEYSPACE IF NOT EXISTS {ks} WITH REPLICATION = {{'class' : 'NetworkTopologyStrategy', 'replication_factor' : 3}}")).await.unwrap();
40-
session.use_keyspace(ks, false).await.unwrap();
42+
session.use_keyspace(&ks, false).await.unwrap();
4143
session
4244
.ddl("CREATE TABLE t (a int primary key)")
4345
.await
@@ -86,6 +88,8 @@ async fn speculative_execution_is_fired() {
8688

8789
info!("--------------------- FINISHING main test part ----------------");
8890

91+
session.ddl(format!("DROP KEYSPACE {ks}")).await.unwrap();
92+
8993
running_proxy
9094
}).await;
9195

@@ -113,7 +117,7 @@ async fn retries_occur() {
113117

114118
let ks = unique_keyspace_name();
115119
session.ddl(format!("CREATE KEYSPACE IF NOT EXISTS {ks} WITH REPLICATION = {{'class' : 'NetworkTopologyStrategy', 'replication_factor' : 3}}")).await.unwrap();
116-
session.use_keyspace(ks, false).await.unwrap();
120+
session.use_keyspace(&ks, false).await.unwrap();
117121
session
118122
.ddl("CREATE TABLE t (a int primary key)")
119123
.await
@@ -155,6 +159,8 @@ async fn retries_occur() {
155159

156160
info!("--------------------- FINISHING main test part ----------------");
157161

162+
session.ddl(format!("DROP KEYSPACE {ks}")).await.unwrap();
163+
158164
running_proxy
159165
}).await;
160166

@@ -167,13 +173,14 @@ async fn retries_occur() {
167173

168174
// See https://github.com/scylladb/scylla-rust-driver/issues/1085
169175
#[tokio::test]
170-
#[ntest::timeout(30000)]
171176
#[cfg_attr(scylla_cloud_tests, ignore)]
172177
async fn speculative_execution_panic_regression_test() {
173178
use scylla_proxy::RunningProxy;
174179

175180
setup_tracing();
176-
let test = |proxy_uris: [String; 3], translation_map, mut running_proxy: RunningProxy| async move {
181+
let test = |proxy_uris: [String; 3],
182+
translation_map: HashMap<SocketAddr, SocketAddr>,
183+
mut running_proxy: RunningProxy| async move {
177184
let se = SimpleSpeculativeExecutionPolicy {
178185
max_retry_count: 2,
179186
retry_interval: Duration::from_millis(1),
@@ -185,15 +192,15 @@ async fn speculative_execution_panic_regression_test() {
185192
// DB preparation phase
186193
let session: Session = SessionBuilder::new()
187194
.known_node(proxy_uris[0].as_str())
188-
.address_translator(Arc::new(translation_map))
195+
.address_translator(Arc::new(translation_map.clone()))
189196
.default_execution_profile_handle(profile.into_handle())
190197
.build()
191198
.await
192199
.unwrap();
193200

194201
let ks = unique_keyspace_name();
195202
session.ddl(format!("CREATE KEYSPACE IF NOT EXISTS {ks} WITH REPLICATION = {{'class' : 'NetworkTopologyStrategy', 'replication_factor' : 3}}")).await.unwrap();
196-
session.use_keyspace(ks, false).await.unwrap();
203+
session.use_keyspace(&ks, false).await.unwrap();
197204
session
198205
.ddl("CREATE TABLE t (a int primary key)")
199206
.await
@@ -222,6 +229,16 @@ async fn speculative_execution_panic_regression_test() {
222229

223230
let _result = session.execute_unpaged(&q, (2,)).await.unwrap_err();
224231

232+
// Need to recreate session - old one has connections dropped and fails the request.
233+
running_proxy.turn_off_rules();
234+
let session: Session = SessionBuilder::new()
235+
.known_node(proxy_uris[0].as_str())
236+
.address_translator(Arc::new(translation_map))
237+
.build()
238+
.await
239+
.unwrap();
240+
session.ddl(format!("DROP KEYSPACE {ks}")).await.unwrap();
241+
225242
running_proxy
226243
};
227244
let res = test_with_3_node_cluster(ShardAwareness::QueryNode, test).await;

0 commit comments

Comments
 (0)