|
24 | 24 | #include "include/pika_monotonic_time.h" |
25 | 25 | #include "include/pika_rm.h" |
26 | 26 | #include "include/pika_server.h" |
27 | | -#include "include/pika_sender.h" |
28 | | -#include "include/migrator_thread.h" |
29 | 27 |
|
30 | 28 | using pstd::Status; |
31 | 29 | extern PikaServer* g_pika_server; |
@@ -103,15 +101,6 @@ PikaServer::PikaServer() |
103 | 101 | } |
104 | 102 | } |
105 | 103 |
|
106 | | - // Create redis sender |
107 | | - for (int i = 0; i < g_pika_conf->redis_sender_num(); ++i) { |
108 | | - redis_senders_.emplace_back(std::make_unique<RedisSender>(int(i), |
109 | | - g_pika_conf->target_redis_host(), |
110 | | - g_pika_conf->target_redis_port(), |
111 | | - g_pika_conf->target_redis_pwd())); |
112 | | - } |
113 | | - |
114 | | - |
115 | 104 | acl_ = std::make_unique<::Acl>(); |
116 | 105 | SetSlowCmdThreadPoolFlag(g_pika_conf->slow_cmd_pool()); |
117 | 106 | bgsave_thread_.set_thread_name("PikaServer::bgsave_thread_"); |
@@ -140,10 +129,7 @@ PikaServer::~PikaServer() { |
140 | 129 | bgsave_thread_.StopThread(); |
141 | 130 | key_scan_thread_.StopThread(); |
142 | 131 | pika_migrate_thread_->StopThread(); |
143 | | - for (size_t i = 0; i < redis_senders_.size(); ++i) { |
144 | | - redis_senders_[i]->Stop(); |
145 | | - } |
146 | | - redis_senders_.clear(); |
| 132 | + |
147 | 133 | dbs_.clear(); |
148 | 134 |
|
149 | 135 | LOG(INFO) << "PikaServer " << pthread_self() << " exit!!!"; |
@@ -223,15 +209,6 @@ void PikaServer::Start() { |
223 | 209 | << (ret == net::kCreateThreadError ? ": create thread error " : ": other error"); |
224 | 210 | } |
225 | 211 |
|
226 | | - for (size_t i = 0; i < redis_senders_.size(); ++i) { |
227 | | - ret = redis_senders_[i]->StartThread(); |
228 | | - if (ret != net::kSuccess) { |
229 | | - dbs_.clear(); |
230 | | - LOG(FATAL) << "Start RedisSender Error: " << ret |
231 | | - << (ret == net::kCreateThreadError ? ": create thread error " : ": other error"); |
232 | | - } |
233 | | - } |
234 | | - |
235 | 212 | time(&start_time_s_); |
236 | 213 | LOG(INFO) << "Pika Server going to start"; |
237 | 214 | rsync_server_->Start(); |
@@ -1565,77 +1542,6 @@ Status PikaServer::GetCmdRouting(std::vector<net::RedisCmdArgsType>& redis_cmds, |
1565 | 1542 | return Status::OK(); |
1566 | 1543 | } |
1567 | 1544 |
|
1568 | | -int PikaServer::SendRedisCommand(const std::string& command, const std::string& key) { |
1569 | | - // Send command |
1570 | | - size_t idx = std::hash<std::string>()(key) % redis_senders_.size(); |
1571 | | - redis_senders_[idx]->SendRedisCommand(command); |
1572 | | - return 0; |
1573 | | -} |
1574 | | - |
1575 | | -void PikaServer::RetransmitData(const std::string& path) { |
1576 | | - std::shared_ptr<storage::Storage> storage_ = std::make_shared<storage::Storage>(); |
1577 | | - rocksdb::Status s = storage_->Open(g_pika_server->storage_options(), path); |
1578 | | - |
1579 | | - if (!s.ok()) { |
1580 | | - LOG(FATAL) << "open received database error: " << s.ToString(); |
1581 | | - return; |
1582 | | - } |
1583 | | - |
1584 | | - // Init SenderThread |
1585 | | - int thread_num = g_pika_conf->redis_sender_num(); |
1586 | | - std::string target_host = g_pika_conf->target_redis_host(); |
1587 | | - int target_port = g_pika_conf->target_redis_port(); |
1588 | | - std::string target_pwd = g_pika_conf->target_redis_pwd(); |
1589 | | - |
1590 | | - LOG(INFO) << "open received database success, start retransmit data to redis(" |
1591 | | - << target_host << ":" << target_port << ")"; |
1592 | | - |
1593 | | - |
1594 | | - std::vector<std::shared_ptr<PikaSender>> pika_senders; |
1595 | | - std::vector<std::shared_ptr<MigratorThread>> migrators; |
1596 | | - |
1597 | | - for (int i = 0; i < thread_num; i++) { |
1598 | | - pika_senders.emplace_back(std::make_shared<PikaSender>(target_host, target_port, target_pwd)); |
1599 | | - } |
1600 | | - migrators.emplace_back(std::make_shared<MigratorThread>(storage_, &pika_senders, storage::kStrings, thread_num)); |
1601 | | - migrators.emplace_back(std::make_shared<MigratorThread>(storage_, &pika_senders, storage::kLists, thread_num)); |
1602 | | - migrators.emplace_back(std::make_shared<MigratorThread>(storage_, &pika_senders, storage::kHashes, thread_num)); |
1603 | | - migrators.emplace_back(std::make_shared<MigratorThread>(storage_, &pika_senders, storage::kSets, thread_num)); |
1604 | | - migrators.emplace_back(std::make_shared<MigratorThread>(storage_, &pika_senders, storage::kZSets, thread_num)); |
1605 | | - |
1606 | | - for (size_t i = 0; i < pika_senders.size(); i++) { |
1607 | | - pika_senders[i]->StartThread(); |
1608 | | - } |
1609 | | - for (size_t i = 0; i < migrators.size(); i++) { |
1610 | | - migrators[i]->StartThread(); |
1611 | | - } |
1612 | | - |
1613 | | - for (size_t i = 0; i < migrators.size(); i++) { |
1614 | | - migrators[i]->JoinThread(); |
1615 | | - } |
1616 | | - for (size_t i = 0; i < pika_senders.size(); i++) { |
1617 | | - pika_senders[i]->Stop(); |
1618 | | - } |
1619 | | - for (size_t i = 0; i < pika_senders.size(); i++) { |
1620 | | - pika_senders[i]->JoinThread(); |
1621 | | - } |
1622 | | - |
1623 | | - int64_t replies = 0, records = 0; |
1624 | | - for (size_t i = 0; i < migrators.size(); i++) { |
1625 | | - records += migrators[i]->num(); |
1626 | | - } |
1627 | | - migrators.clear(); |
1628 | | - for (size_t i = 0; i < pika_senders.size(); i++) { |
1629 | | - replies += pika_senders[i]->elements(); |
1630 | | - } |
1631 | | - pika_senders.clear(); |
1632 | | - |
1633 | | - LOG(INFO) << "=============== Retransmit Finish ====================="; |
1634 | | - LOG(INFO) << "Total records : " << records << " have been Scaned"; |
1635 | | - LOG(INFO) << "Total replies : " << replies << " received from redis server"; |
1636 | | - LOG(INFO) << "======================================================="; |
1637 | | -} |
1638 | | - |
1639 | 1545 | void PikaServer::ServerStatus(std::string* info) { |
1640 | 1546 | std::stringstream tmp_stream; |
1641 | 1547 | size_t q_size = ClientProcessorThreadPoolCurQueueSize(); |
|
0 commit comments