apache / apache/incubator-pegasus
redis-proxy invalid header type
- 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
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