|
|
|
@ -2316,9 +2316,14 @@ int redis_restore(struct redis *r, bool foreign, int db) {
|
|
|
|
mutex_init(&ctx.r_m);
|
|
|
|
mutex_init(&ctx.r_m);
|
|
|
|
g_queue_init(&ctx.r_q);
|
|
|
|
g_queue_init(&ctx.r_q);
|
|
|
|
ctx.foreign = foreign;
|
|
|
|
ctx.foreign = foreign;
|
|
|
|
for (int i = 0; i < rtpe_config.redis_num_threads; i++)
|
|
|
|
for (int i = 0; i < rtpe_config.redis_num_threads; i++) {
|
|
|
|
g_queue_push_tail(&ctx.r_q,
|
|
|
|
struct redis *dup = redis_dup(r, db);
|
|
|
|
redis_dup(r, db));
|
|
|
|
if (!dup) {
|
|
|
|
|
|
|
|
rlog(LOG_ERR, "Failed to create thread connection to Redis");
|
|
|
|
|
|
|
|
goto err;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
g_queue_push_tail(&ctx.r_q, dup);
|
|
|
|
|
|
|
|
}
|
|
|
|
gtp = g_thread_pool_new(restore_thread, &ctx, rtpe_config.redis_num_threads, TRUE, NULL);
|
|
|
|
gtp = g_thread_pool_new(restore_thread, &ctx, rtpe_config.redis_num_threads, TRUE, NULL);
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < calls->elements; i++) {
|
|
|
|
for (int i = 0; i < calls->elements; i++) {
|
|
|
|
|