diff --git a/README.md b/README.md index d4054dd..917883e 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ 6. 实现配置文件,把日志级别,端口ip,主从模式,持久化方案。 **完成**。 7. 持久化落盘用io_uring,加载配置文件用mmap。 **完成**。 8. 主从同步的性能,开启与关闭性能做到5%?。 -9. 主从同步600w条,出现的coredump。 **完成**。 -10. 主从同步用ebpf实现。 **BUG FIX**。 +9. 主从同步600w条,出现的coredump。 **BUG FIX**。 +10. 主从同步用ebpf实现。 **完成**。 11. 内存池测试qps与虚拟内存,物理内存。 **完成**。 12. 实现一个内存泄露检测组件。 **完成**。 @@ -22,7 +22,7 @@ sudo apt install libxml2 libxml2-dev # hiredis client sudo apt install -y libhiredis-dev # bpftrace -sudo apt install -y bpftrace +sudo apt install -y bpftrace libelf libelf-dev clang git clone git@gitlab.0voice.com:lianyiheng/9.1-kvstore.git cd 9.1-kvstore/ diff --git a/common/config.c b/common/config.c index 80a1f99..2ecedd1 100644 --- a/common/config.c +++ b/common/config.c @@ -413,10 +413,9 @@ int config_load(const char *filename, AppConfig *out_cfg) /* * 用 xmlReadMemory 从内存解析。 - * - "UTF-8":你原来指定了 UTF-8;如果希望自动探测,可以传 NULL。 + * - "UTF-8":指定了 UTF-8;如果希望自动探测,可以传 NULL。 * - XML_PARSE_NONET:禁用网络访问(防 XXE/外部实体拉取) * - XML_PARSE_NOBLANKS:保持你原来的行为 - * 你也可以加 XML_PARSE_NOERROR | XML_PARSE_NOWARNING 减少噪音,但调试阶段不建议。 */ int parse_opts = XML_PARSE_NOBLANKS | XML_PARSE_NONET; diff --git a/ebpf/c/replica.c b/ebpf/c/replica.c index 3c9f9e3..37eb545 100644 --- a/ebpf/c/replica.c +++ b/ebpf/c/replica.c @@ -224,8 +224,7 @@ static void* reader_thread_func(void *arg) // 序列号检查 if (h.seq != local_seq) { - DEBUGLOG("Reader: seq mismatch! h.seq=%lu, local_seq=%lu, off=%u\n", - h.seq, local_seq, read_off); + // DEBUGLOG("Reader: seq mismatch! h.seq=%lu, local_seq=%lu, off=%u\n", h.seq, local_seq, read_off); continue; } diff --git a/kvs_protocol_resp.c b/kvs_protocol_resp.c index 26bf73f..49dfb75 100644 --- a/kvs_protocol_resp.c +++ b/kvs_protocol_resp.c @@ -556,7 +556,6 @@ int resp_dispatch(const resp_cmd_t *cmd, resp_value_t *out_value) { return 0; case KVS_CMD_MEM_PRINT:{ int ret = kvs_mem_printf(); - printf("ret %d\n", ret); *out_value = resp_int(ret); return 0; } diff --git a/kvstore.c b/kvstore.c index c12c38b..9d602bd 100644 --- a/kvstore.c +++ b/kvstore.c @@ -57,7 +57,7 @@ int kvs_protocol(struct conn* conn){ int consumed = 0; int out_len = 0; - while(consumed < request_length ){ + while(consumed < request_length ){ const uint8_t *p = request+consumed; int remain = request_length - consumed; diff --git a/memory/mempool.c b/memory/mempool.c index 368397f..f06e2bf 100644 --- a/memory/mempool.c +++ b/memory/mempool.c @@ -320,8 +320,10 @@ int mp_print(mp_pool_t *pool){ printf("------\n"); for(int i = 0; i < MEMPOOL_NUM_CLASSES; i++){ mp_bucket_t *bucket = &pool->buckets[i]; - if(bucket->page_count) ret += bucket->page_count; - printf("size:%ld, page:%d, empty:%d\n", bucket->block_size, bucket->page_count, bucket->empty_count); + if(bucket->page_count) { + ret += bucket->page_count; + printf("size:%ld, page:%d, empty:%d\n", bucket->block_size, bucket->page_count, bucket->empty_count); + } } printf("------\n"); diff --git a/test-redis/test.c b/test-redis/test.c index 1bbf95f..e432a93 100644 --- a/test-redis/test.c +++ b/test-redis/test.c @@ -274,7 +274,9 @@ int main(int argc, char **argv) { redisContext *c = redisConnect(host, port); if (!c || c->err) die(c, "connect failed"); - printf("Connected to %s:%d\n", host, port); + redisReply *reply = redisCommand(c, "MEMPRINT"); + + printf("Connected to %s:%d, %lld\n", host, port, reply->integer); if(mode == 0){ save(c);