Node-redis: ECONNRESET después de 2 horas

Creado en 11 jun. 2015  ·  4Comentarios  ·  Fuente: NodeRedis/node-redis

Actualmente se ejecuta una aplicación en Docker, en un contenedor de Ubuntu 12.04. Ejecutando docker 1.5 y node-redis 0.12.1. La conexión de redis recibe el siguiente error después de 2 horas, cada vez.
`` Error: conexión de Redis a web-redis01.twec. com: 6379 falló - leer ECONNRESET

`` `` ``
en RedisClient.on_error (/home/node/tjs0006/node_modules/redis/index.js:196:24)

en Socket.(/home/node/tjs0006/node_modules/redis/index.js:106:14)

en Socket.emit (events.js: 95: 17)

en net.js: 441: 14

en process._tickCallback (node.js: 448: 13) ''
`` `` ``

Llegan los registros ...

question

Todos 4 comentarios

Stream connected web-redis01.twec.com:6379 id 1
Using default parser module: javascript
checking server ready state...
send web-redis01.twec.com:6379 id 1: *1
$4
info

send_command buffered_writes: 0  should_buffer: false
net read web-redis01.twec.com:6379 id 1: $1993
# Server
redis_version:2.8.19
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a789ed9377dc12b9
redis_mode:standalone
os:Linux 3.13.0-45-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:1478
run_id:6edf95e3c651843f8c26ea0e1030717d82419fcd
tcp_port:6379
uptime_in_seconds:9604215
uptime_in_days:111
hz:10
lru_clock:7985573
config_file:/etc/redis/redis.conf

# Clients
connected_clients:521
client_longest_output_list:0
client_biggest_input_buf:817
blocked_clients:108

# Memory
used_memory:668850272
used_memory_human:637.87M
used_memory_rss:715665408
used_memory_peak:4418948960
used_memory_peak_human:4.12G
used_memory_lua:35840
mem_fragmentation_ratio:1.07
mem_allocator:jemalloc-3.6.0

# Persistence
loading:0
rdb_changes_since_last_save:232
rdb_bgsave_in_progress:0
rdb_last_save_time:1434048755
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:8
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:14731602
total_commands_processed:1397335226
instantaneous_ops_per_sec:60
total_net_input_bytes:111442619264
total_net_output_bytes:166924266821
instantaneous_input_kbps:4.35
instantaneous_output_kbps:0.61
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:1320224
evicted_keys:0
keyspace_hits:325125706
keyspace_misses:358675060
pubsub_channels:1
pubsub_patterns:0
latest_fork_usec:61950

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:45186.85
used_cpu_user:22707.47
used_cpu_sys_children:25963.62
used_cpu_user_children:203823.30

# Keyspace
db0:keys=88916,expires=2405,avg_ttl=29636490


Redis server ready.
send web-redis01.twec.com:6379 id 1: *3
$4
sadd
$25
tjs0006-dev:todaysBatches
$18
batch_514C6E711866

send_command buffered_writes: 0  should_buffer: false
send web-redis01.twec.com:6379 id 1: *3
$3
set
$19
tjs0006-dev:lastRun
$24
2015-06-11T19:02:11.190Z

send_command buffered_writes: 0  should_buffer: false
net read web-redis01.twec.com:6379 id 1: :1

net read web-redis01.twec.com:6379 id 1: +OK

send web-redis01.twec.com:6379 id 1: *3
$5
lpush
$36
tjs0006-dev:batch_514C6E711866:error
$180
{"message":"Non-successful status code (500) returned","location":"RENEW QUEUE:Get Customer","batchId":"batch_514C6E711866","businessDate":"","file":"","cardNumber":"466708132564"}

send_command buffered_writes: 0  should_buffer: false
net read web-redis01.twec.com:6379 id 1: :1

send web-redis01.twec.com:6379 id 1: *4
$6
lrange
$36
tjs0006-dev:batch_514C6E711866:error
$1
0
$2
-1

send_command buffered_writes: 0  should_buffer: false
net read web-redis01.twec.com:6379 id 1: *1
$180
{"message":"Non-successful status code (500) returned","location":"RENEW QUEUE:Get Customer","batchId":"batch_514C6E711866","businessDate":"","file":"","cardNumber":"466708132564"}

send web-redis01.twec.com:6379 id 1: *4
$6
lrange
$38
tjs0006-dev:batch_514C6E711866:warning
$1
0
$2
-1

send_command buffered_writes: 0  should_buffer: false
net read web-redis01.twec.com:6379 id 1: *0

Redis connection to web-redis01.twec.com:6379 failed - read ECONNRESET
Error: Redis connection to web-redis01.twec.com:6379 failed - read ECONNRESET
    at RedisClient.on_error (/home/node/tjs0006/node_modules/redis/index.js:196:24)
    at Socket.<anonymous> (/home/node/tjs0006/node_modules/redis/index.js:106:14)
    at Socket.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:448:13)
Error: Redis connection to web-redis01.twec.com:6379 failed - read ECONNRESET
    at RedisClient.on_error (/home/node/tjs0006/node_modules/redis/index.js:196:24)
    at Socket.<anonymous> (/home/node/tjs0006/node_modules/redis/index.js:106:14)
    at Socket.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:448:13)
error: Forever detected script exited with code: 1
error: Script restart attempt #1

Probé otras bibliotecas y recibí el mismo problema. No parece que sea específico de node-redis.

@strumwolf : Tengo exactamente el mismo problema. ¿Lo resolviste?

También lo estoy usando en la ventana acoplable (y ranchero), y este es el registro de mi contenedor:

02/11/2016 17: 15: 11Conexión Redis OK
02/11/2016 17: 15: 11El cliente se suscribe a "prueba"
02/11/2016 19: 15: 32REDIS error {[Error: conexión de Redis a xxx.euw1.cache.amazonaws. com: 6379 falló - leer ECONNRESET] código: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read'}
02/11/2016 19: 15: 32Reconexión de Redis
02/11/2016 19: 15: 32Conexión Redis OK
02/11/2016 19: 15: 32El cliente se suscribe a "prueba"
02/11/2016 21: 15: 41REDIS error {[Error: conexión de Redis a xxx.euw1.cache.amazonaws. com: 6379 falló - leer ECONNRESET] código: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read'}
02/11/2016 21: 15: 41Reconexión de Redis
02/11/2016 21: 15: 41Conexión Redis OK
02/11/2016 21: 15: 41El cliente se suscribe a "prueba"
02/11/2016 23: 15: 50REDIS error {[Error: conexión de Redis a xxx.euw1.cache.amazonaws. com: 6379 falló - leer ECONNRESET] código: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read'}
02/11/2016 23: 15: 50Reconexión de Redis
02/11/2016 23: 15: 50 Conexión Redis OK

Cada 2 horas como dijiste, tengo un ECONNRESET. La reconexión parece funcionar, y la suscripción también. Si PRESIONO un mensaje nuevo inmediatamente después de esta reconexión, el suscriptor lo recibirá.

Pero si espero un cierto tiempo (acercándose a la próxima reconexión), el suscriptor ya no trata los mensajes que envío. Parece ser otro tiempo de espera en alguna parte ...

Gracias por su ayuda.

@cabrinoob , resolví el problema pero fue hace tanto tiempo que no recuerdo la solución. Además, ya no trabajo para la empresa donde tuve el problema y, por lo tanto, no puedo volver atrás y buscarlo. Lo siento.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

juriansluiman picture juriansluiman  ·  3Comentarios

b96705008 picture b96705008  ·  7Comentarios

id0Sch picture id0Sch  ·  4Comentarios

shmendo picture shmendo  ·  6Comentarios

Stono picture Stono  ·  6Comentarios