forked from iDC-NEU/NeuChain
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.cpp
More file actions
57 lines (52 loc) · 1.91 KB
/
server.cpp
File metadata and controls
57 lines (52 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//
// Created by peng on 2021/1/15.
//
#include "block_server/server.h"
#include "block_server/comm/client_proxy/comm_controller.h"
#include <user/block_bench/ycsb_workload.h>
#include "block_server/database/db_storage.h"
#include <tpc-c.pb.h>
#include <common/thread_pool.h>
namespace braft {
DECLARE_bool(raft_enable_append_entries_cache);
}
void initDatabase() {
//ThreadPool pool((int)sysconf(_SC_NPROCESSORS_ONLN));
auto* storage = VersionedDB::getDBInstance()->getStorage();
const std::string savingTab = "saving";
const std::string checkingTab = "checking";
const std::string BALANCE = "100000";
LOG(INFO) << "init smallbank.";
for(int account=1; account<=100000; account++) {
storage->updateWriteSet(savingTab + "_" + std::to_string(account), BALANCE, "small_bank");
storage->updateWriteSet(checkingTab + "_" + std::to_string(account), BALANCE, "small_bank");
}
BlockBench::YCSBWorkload workload(63890);
// we use these five func to control the chaincode.
LOG(INFO) << "init ycsb.";
for(int i=0; i<1000000; i++) {
std::vector<BlockBench::YCSBWorkload::KVPair> pairs;
workload.generateRandomValues(pairs);
YCSB_FOR_BLOCK_BENCH payload;
for (const auto& pair: pairs) {
auto* value = payload.add_values();
value->set_key(pair.first);
value->set_value(pair.second);
}
auto key = workload.nextSequenceKey();
auto tableName = workload.getNextTableName();
storage->updateWriteSet(key, payload.SerializeAsString(), tableName);
}
LOG(INFO) << "db init complete.";
}
int main(int argc, char *argv[]) {
// initDatabase();
// return 0;
// disable pipeline in braft is better in the same az
braft::FLAGS_raft_enable_append_entries_cache = true;
DDChainServer server;
server.initServer();
server.startServer();
server.joinServer();
return 0;
}