apache / apache/incubator-pegasus

redis-proxy invalid header type

Open
#904 1 comment 0 reactions 0 assignees View on GitHub
good-first-issue
Dominant language
C++
Stars
2.1k
Forks
328
PR merge metrics
No merged PRs in 30d

Description

按照这里的文档配置 redis-proxy, https://pegasus.apache.org/api/redis , redis-proxy 可以正常运行, 但是使用 redis-cli 链接时, 无法读取/写入数据, 并报错:
```
E2022-02-08 23:58:53.494 (1644364733494737681 15) proxy.io-thrd.00015: network.cpp:240:prepare_parser(): invalid header type, remote_client = 127.0.0.1:40514, header_type = '*5\0D\0A'
E2022-02-08 23:58:53.494 (1644364733494766106 15) proxy.io-thrd.00015: asio_rpc_session.cpp:121:operator()(): asio read from 127.0.0.1:40514 failed

E2022-02-08 23:57:25.30 (1644364645030020869 15) proxy.io-thrd.00015: network.cpp:240:prepare_parser(): invalid header type, remote_client = 127.0.0.1:40510, header_type = '*3\0D\0A'
E2022-02-08 23:57:25.30 (1644364645030040541 15) proxy.io-thrd.00015: asio_rpc_session.cpp:121:operator()(): asio read from 127.0.0.1:40510 failed

```
`header_type = '*3\0D\0A'` 是 redis protocol 解析 redis command 的内容, 使用 redis-cli 2.8/5.0.4/6.2.6 测试均有问题
pegasus 版本 2.3.0

请问, 有可能是什么原因呢?

Contributor guide

Open the contributing guide

Research direction

Start at the redis-proxy entry point and the configuration linked in the issue, then reproduce with redis-cli 2.8, 5.0.4, or 6.2.6 while capturing the parser logs. Trace handling of RESP headers such as *3\r\n and *5\r\n; done means redis-cli can read and write through the proxy without invalid-header or session-read errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, redis
Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.