-
Notifications
You must be signed in to change notification settings - Fork 531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynomite immediately dropping connections #456
Comments
A couple of questions:
|
What version of redis-cli are you using? Have you built Dynomite in Debug Mode? |
Hi @ipapapa , Any clue for above issue ? |
A couple of things.
|
Thanks @ipapapa Below is stack trace [2017-06-27 06:19:52.683] conf_validate_pool:2163 setting write_consistency to default value:dc_one |
Any Redis version is compatible... The problem is that the new
|
Have you tried v0.5.9? that is the recent stable release. I believe I fixed a bunch of assert related issues. |
@shailesh33 Thanks! Now tried with v0.5.9 and not getting above error. |
Does using |
@Aatish04 can you check the parameter in the YAML file? |
@shailesh33 should this issue be fixed? I am getting the same I'm unable to issue in-line commands to redis. E.g. However, if I use This is the full error:
Dynomite v0.6.2-5-ge811564 Thanks! |
@fozboz yes I am able to see the issue. I presumed the fix is a 5 line code which is, but I think the redis response parser is unable to parse the multi bulk response properly. I will try to give it a stab. |
@fozboz It seems the response parser is not done properly, It fails with multilevel array responses. |
@shailesh33 not a big issue with us as we're going to use it as a back-end for Conductor. Can you point me in the direction of where I might start to try and fix this? Would it be something in dynomite/src/proto/dyn_redis.c ? |
yes that is the place to start. Start with parse_rsp. Essentially it should understand that it is reading an internal element and so on and so forth. |
@fozboz if you are excited enough to rewrite the entire parser I will not stop you :) |
In my case I keep getting whenever I issue any command via redis-cli dn_assert:301 assert 'ncontinuum != 0' failed @ (dyn_vnode.c, 129) While using php-redis client leads to: redis_parse_req:1583 parsed unsupported command 'COMMAND' This is on Ubuntu Focal Fossa. I'm not exactly sure I understand the proposed solutions above @shailesh33 |
I am trying to configured dynomite with two datacenters running on different machine, each will have one rack and one node. Each node connecting to redis instance running on it's machine.
I am trying to start dynomite with gossip enable.
After staring dynomite on both the servers after making first request it crashes.
I am able to connect to redis but not to dynomite
On server 1
$ redis-cli -p 8102
127.0.0.1:8102> ping
(error) ERR Storage: Connection timed out
(3.00s)
127.0.0.1:8102>ping
Could not connect to Redis at 127.0.0.1:8102: Connection refused
On server 2
$ redis-cli -p 8102
127.0.0.1:8102> ping
Error: Connection reset by peer
$ redis-cli -p 8102
Could not connect to Redis at 127.0.0.1:8102: Connection refused
Below is my configuration
Server 1
dyn_o_mite:
datacenter: dc1
rack: rack1
dyn_listen: 0.0.0.0:8101
dyn_read_timeout: 200000
dyn_seed_provider: simple_provider
dyn_seeds:
listen: 0.0.0.0:8102
preconnect: true
servers:
auto_eject_hosts: true
server_retry_timeout: 3000
timeout: 3000
tokens: '12345678'
secure_server_option: datacenter
pem_key_file: conf/dynomite.pem
data_store: 0
Server 2
dyn_o_mite:
datacenter: dc2
rack: rack2
dyn_listen: 0.0.0.0:8101
dyn_read_timeout: 200000
dyn_seed_provider: simple_provider
dyn_seeds:
listen: 0.0.0.0:8102
preconnect: true
servers:
auto_eject_hosts: true
server_retry_timeout: 3000
timeout: 3000
tokens: '1383429731'
secure_server_option: datacenter
pem_key_file: conf/dynomite.pem
data_store: 0
Below is the log for Server 1
[2017-06-21 12:50:58.137] conf_validate_pool:2156 setting read_consistency to default value:dc_one
[2017-06-21 12:50:58.137] conf_validate_pool:2163 setting write_consistency to default value:dc_one
[2017-06-21 12:50:58.137] conf_validate_pool:2198 setting env to default value:aws
[2017-06-21 12:50:58.137] conf_validate_pool:2208 setting reconciliation key file to default value:conf/recon_key.pem
[2017-06-21 12:50:58.137] conf_validate_pool:2213 setting reconciliation IV file to default value:conf/recon_iv.pem
[2017-06-21 12:50:58.137] load_private_rsa_key_by_file:68 Private RSA structure filled
[2017-06-21 12:50:58.138] stats_listen:1362 m 5 listening on '0.0.0.0:22222'
[2017-06-21 12:50:58.138] entropy_key_iv_load:364 Key File name: conf/recon_key.pem - IV File name: conf/recon_iv.pem
[2017-06-21 12:50:58.138] entropy_key_iv_load:419 key loaded: 0123456789012345
[2017-06-21 12:50:58.138] entropy_key_iv_load:427 iv loaded: 0123456789012345
[2017-06-21 12:50:58.138] entropy_listen:328 anti-entropy m 8 listening on '127.0.0.1:8105'
[2017-06-21 12:50:58.138] event_base_create:68 e 9 with nevent 1024
[2017-06-21 12:50:58.138] conn_connect:536 connecting to '127.0.0.1:22122:1' on p 10
[2017-06-21 12:50:58.138] proxy_init:124 p 11 listening on '0.0.0.0:8102' in redis pool 'dyn_o_mite'
[2017-06-21 12:50:58.138] dnode_init:112 dyn: p 12 listening on '0.0.0.0:8101' in redis pool 'dyn_o_mite' with 34832512 servers
[2017-06-21 12:50:58.138] preselect_remote_rack_for_replication:1838 my rack index 0
[2017-06-21 12:50:58.138] preselect_remote_rack_for_replication:1865 Selected rack rack2 for replication to remote region dc2
[2017-06-21 12:50:58.138] server_connected:450 connected on s 10 to server '127.0.0.1:22122:1'
[2017-06-21 12:51:15.730] proxy_accept:220 accepted CLIENT 15 on PROXY 11 from '127.0.0.1:50592'
[2017-06-21 12:51:15.731] _msg_get:290 alloc_msg_count: 1 caller: req_get conn: CLIENT sd: 15
[2017-06-21 12:51:15.731] redis_parse_req:1230 parsed unsupported command 'COMMAND'
[2017-06-21 12:51:15.731] redis_parse_req:1829 parsed bad req 1 res 1 type 0 state 5
00000000 2a 31 0d 0a 24 37 0d 0a 43 4f 4d 4d 41 4e 44 0d |*1..$7..COMMAND.|
00000010 0a |.|
[2017-06-21 12:51:15.731] core_recv:309 recv on CLIENT 15 failed: Invalid argument
[2017-06-21 12:51:15.731] core_close_log:343 close CLIENT 15 '127.0.0.1:50592' on event 00FF eof 0 done 0 rb 17 sb 0: Invalid argument
[2017-06-21 12:51:15.731] client_close:204 close c 15 discarding pending req 1 len 17 type 0
[2017-06-21 12:51:15.731] client_unref_internal_try_put:101 unref conn 0x2146f30 owner 0x21380a0 from pool 'dyn_o_mite'
[2017-06-21 12:51:17.640] proxy_accept:220 accepted CLIENT 15 on PROXY 11 from '127.0.0.1:50594'
[2017-06-21 12:51:20.641] core_timeout:417 req 2 on SERVER 10 timedout, timeout was 3000
[2017-06-21 12:51:20.641] core_close_log:343 close SERVER 10 '127.0.0.1:22122' on event FF00 eof 0 done 0 rb 0 sb 0: Connection timed out
[2017-06-21 12:51:20.641] _msg_get:290 alloc_msg_count: 2 caller: server_ack_err conn: SERVER sd: 10
[2017-06-21 12:51:20.641] server_ack_err:351 close SERVER 10 req 2:0 len 14 type 86 from c 15: Connection timed out
[2017-06-21 12:51:20.641] client_handle_response:256 ASSERTION FAILED: response 3:0 has peer set
[2017-06-21 12:51:20.641] dn_assert:342 assert '!rsp->peer' failed @ (dyn_client.c, 256)
[2017-06-21 12:51:20.641] msg_local_one_rsp_handler:979 Req 2:0 selected_rsp 3:0
[2017-06-21 12:51:20.641] server_close:405 close SERVER 10 Dropped 0 outqueue & 1 inqueue requests
[2017-06-21 12:51:28.138] gossip_loop:821 I am still joining the ring!
[2017-06-21 12:51:34.256] conn_connect:536 connecting to '127.0.0.1:22122:1' on p 10
[2017-06-21 12:51:34.256] conn_connect:536 connecting to 'dynomite-host2:8101:rack2:dc2:1383429731' on p 16
[2017-06-21 12:51:34.257] dn_stacktrace:326 [0] /lib64/libpthread.so.0() [0x3fb740f7e0]
[2017-06-21 12:51:34.259] dn_stacktrace:326 [1] src/dynomite(mbuf_remove+0x2b) [0x41eb2b]
[2017-06-21 12:51:34.262] dn_stacktrace:326 [2] src/dynomite(dnode_peer_gossip_forward+0x116) [0x416a26]
[2017-06-21 12:51:34.264] dn_stacktrace:326 [3] src/dynomite(dnode_peer_handshake_announcing+0x182) [0x416102]
[2017-06-21 12:51:34.266] dn_stacktrace:326 [4] src/dynomite(core_loop+0x6e) [0x40a26e]
[2017-06-21 12:51:34.268] dn_stacktrace:326 [5] src/dynomite(main+0x6d8) [0x42f338]
[2017-06-21 12:51:34.271] dn_stacktrace:326 [6] /lib64/libc.so.6(__libc_start_main+0xfd) [0x3fb701ed1d]
[2017-06-21 12:51:34.272] dn_stacktrace:326 [7] src/dynomite() [0x4088f9]
[2017-06-21 12:51:34.275] signal_handler:132 signal 11 (SIGSEGV) received, core dumping
below is the log for server 2
[2017-06-21 12:51:10.390] conf_validate_pool:2156 setting read_consistency to default value:dc_one
[2017-06-21 12:51:10.390] conf_validate_pool:2163 setting write_consistency to default value:dc_one
[2017-06-21 12:51:10.390] conf_validate_pool:2198 setting env to default value:aws
[2017-06-21 12:51:10.390] conf_validate_pool:2208 setting reconciliation key file to default value:conf/recon_key.pem
[2017-06-21 12:51:10.390] conf_validate_pool:2213 setting reconciliation IV file to default value:conf/recon_iv.pem
[2017-06-21 12:51:10.390] load_private_rsa_key_by_file:68 Private RSA structure filled
[2017-06-21 12:51:10.390] stats_listen:1362 m 5 listening on '0.0.0.0:22223'
[2017-06-21 12:51:10.390] entropy_key_iv_load:364 Key File name: conf/recon_key.pem - IV File name: conf/recon_iv.pem
[2017-06-21 12:51:10.390] entropy_key_iv_load:419 key loaded: 0123456789012345
[2017-06-21 12:51:10.390] entropy_key_iv_load:427 iv loaded: 0123456789012345
[2017-06-21 12:51:10.390] entropy_listen:328 anti-entropy m 8 listening on '127.0.0.1:8105'
[2017-06-21 12:51:10.391] event_base_create:68 e 9 with nevent 1024
[2017-06-21 12:51:10.391] conn_connect:536 connecting to '127.0.0.1:22123:1' on p 10
[2017-06-21 12:51:10.391] proxy_init:124 p 11 listening on '0.0.0.0:8102' in redis pool 'dyn_o_mite'
[2017-06-21 12:51:10.391] dnode_init:112 dyn: p 12 listening on '0.0.0.0:8101' in redis pool 'dyn_o_mite' with 18210944 servers
[2017-06-21 12:51:10.391] preselect_remote_rack_for_replication:1838 my rack index 0
[2017-06-21 12:51:10.391] preselect_remote_rack_for_replication:1865 Selected rack rack1 for replication to remote region dc1
[2017-06-21 12:51:10.391] server_connected:450 connected on s 10 to server '127.0.0.1:22123:1'
[2017-06-21 12:51:34.247] dnode_accept:172 Accepting client connection from 10.131.12.47/55326 on sd 15
[2017-06-21 12:51:34.247] dnode_accept:217 dyn: accepted LOCAL_PEER_CLIENT 15 on PEER_PROXY 12 from '10.131.12.47:55326'
[2017-06-21 12:51:34.468] _msg_get:290 alloc_msg_count: 1 caller: req_get conn: LOCAL_PEER_CLIENT sd: 15
[2017-06-21 12:51:34.468] conn_recv_data:632 recv on sd 15 eof rb 0 sb 0
[2017-06-21 12:51:34.468] req_recv_next:346 c 15 is done
[2017-06-21 12:51:40.391] gossip_loop:821 I am still joining the ring!
[2017-06-21 12:51:44.040] proxy_accept:220 accepted CLIENT 16 on PROXY 11 from '127.0.0.1:38642'
[2017-06-21 12:51:44.040] conn_connect:536 connecting to 'dynomite-host1:8101:rack1:dc1:12345678' on p 17
[2017-06-21 12:51:44.041] dn_stacktrace:326 [0] /lib64/libpthread.so.0() [0x3fb740f7e0]
[2017-06-21 12:51:44.044] dn_stacktrace:326 [1] src/dynomite(mbuf_remove+0x2b) [0x41eb2b]
[2017-06-21 12:51:44.047] dn_stacktrace:326 [2] src/dynomite(dnode_peer_gossip_forward+0x116) [0x416a26]
[2017-06-21 12:51:44.049] dn_stacktrace:326 [3] src/dynomite(dnode_peer_handshake_announcing+0x182) [0x416102]
[2017-06-21 12:51:44.052] dn_stacktrace:326 [4] src/dynomite(core_loop+0x6e) [0x40a26e]
[2017-06-21 12:51:44.055] dn_stacktrace:326 [5] src/dynomite(main+0x6d8) [0x42f338]
[2017-06-21 12:51:44.057] dn_stacktrace:326 [6] /lib64/libc.so.6(__libc_start_main+0xfd) [0x3fb701ed1d]
[2017-06-21 12:51:44.059] dn_stacktrace:326 [7] src/dynomite() [0x4088f9]
[2017-06-21 12:51:44.061] signal_handler:132 signal 11 (SIGSEGV) received, core dumping
Looks like gossiping not working but both hosts are accessible to each other.
I am using master branch.
The text was updated successfully, but these errors were encountered: