Skip to content

Commit 2ab0abd

Browse files
MoFHekarhdong
authored andcommitted
[fix] Fixed segment fault due to lambda may capture the thread_context reference with error address when high concurrency and server disconnection.
1 parent e2ddb73 commit 2ab0abd

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

tensorflow_recommenders_addons/dynamic_embedding/core/kernels/redis_impl/redis_cluster_connection_pool.hpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,6 @@ class RedisWrapper<RedisInstance, K, V,
172172
} catch (const std::exception &err) {
173173
LOG(ERROR) << "RedisHandler error in PipeExecRead for slices "
174174
<< hkey.data() << " -- " << err.what();
175-
error_ptr = std::current_exception();
176-
throw(err);
177175
}
178176
} else {
179177
return nullptr;
@@ -194,8 +192,6 @@ class RedisWrapper<RedisInstance, K, V,
194192
} catch (const std::exception &err) {
195193
LOG(ERROR) << "RedisHandler error in PipeExecWrite for slices "
196194
<< hkey.data() << " -- " << err.what();
197-
error_ptr = std::current_exception();
198-
throw(err);
199195
}
200196
} else {
201197
return nullptr;
@@ -1004,7 +1000,7 @@ every bucket has its own BucketContext for sending data---for locating reply-
10041000
try {
10051001
for (unsigned i = 0; i < storage_slice; ++i) {
10061002
results.emplace_back(
1007-
network_worker_pool->enqueue([this, &cmd, &thread_context, i] {
1003+
network_worker_pool->enqueue([this, &cmd, thread_context, i] {
10081004
return PipeExecRead(cmd, 3U, thread_context->buckets[i]);
10091005
}));
10101006
}
@@ -1228,7 +1224,7 @@ every bucket has its own BucketContext for sending data---for locating reply-
12281224
try {
12291225
for (unsigned i = 0; i < storage_slice; ++i) {
12301226
results.emplace_back(
1231-
network_worker_pool->enqueue([this, &cmd, &thread_context, i] {
1227+
network_worker_pool->enqueue([this, &cmd, thread_context, i] {
12321228
return PipeExecWrite(cmd, 4U, thread_context->buckets[i]);
12331229
}));
12341230
}
@@ -1330,7 +1326,7 @@ every bucket has its own BucketContext for sending data---for locating reply-
13301326
try {
13311327
for (unsigned i = 0; i < storage_slice; ++i) {
13321328
results.emplace_back(
1333-
network_worker_pool->enqueue([this, &cmd, &thread_context, i] {
1329+
network_worker_pool->enqueue([this, &cmd, thread_context, i] {
13341330
return PipeExecWrite(cmd, 6U, thread_context->buckets[i]);
13351331
}));
13361332
}
@@ -1411,7 +1407,7 @@ every bucket has its own BucketContext for sending data---for locating reply-
14111407
try {
14121408
for (unsigned i = 0; i < storage_slice; ++i) {
14131409
results.emplace_back(
1414-
network_worker_pool->enqueue([this, &cmd, &thread_context, i] {
1410+
network_worker_pool->enqueue([this, &cmd, thread_context, i] {
14151411
return PipeExecWrite(cmd, 3U, thread_context->buckets[i]);
14161412
}));
14171413
}

0 commit comments

Comments
 (0)