-
Notifications
You must be signed in to change notification settings - Fork 5.4k
[ERROR] 2015-06-16 09:16:22-org.jredis.connector.ConnectionReset: (potential redis timeout) Connection re-established but last request not processed: socket exception cause: => [SocketException: Connection reset by peer: socket write error] #252
Comments
@284187773 are you able to consistently reproduce this issue? Could you give us more information so that we can try to replicate it ourselves? Please see https://github.com/MSOpenTech/redis/wiki/Submitting-an-Issue Do you absolutely need a 32-bit version of Redis, or could you use the 64-bit version? If so, I would recommend upgrading to 2.8.21. |
@orangemocha Redis configuration files: redis.conf #Redis configuration file example #Note on units: when memory size is needed, it is possible to specify #1k => 1000 bytes #units are case insensitive so 1GB 1Gb 1gB are all the same. #If you want you can bind a single interface, if the bind option is not #bind 127.0.0.1 #Specify the path for the unix socket that will be used to listen for #unixsocket /tmp/redis.sock #Close the connection after a client is idle for N seconds (0 to disable) #TCP keepalive. #If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence #1) Detect dead peers. #On Linux, the specified value (in seconds) is the period used to send ACKs. #A reasonable value for this option is 60 seconds. #Specify the server verbosity level. #Specify the log file name. Also 'stdout' can be used to force #To enable logging to the Windows EventLog, just set 'syslog-enabled' to #Specify the source name of the events in the Windows Application log. #Set the number of databases. The default database is DB 0, you can select ################################SNAPSHOTTING ################################# #Save the DB on disk: #save #Will save the DB if both the given number of seconds and the given #In the example below the behaviour will be to save: #Note: you can disable saving at all commenting all the "save" lines. #It is also possible to remove all the previously configured save #save "" save 900 1 #By default Redis will stop accepting writes if RDB snapshots are enabled #If the background saving process will start working again Redis will #However if you have setup your proper monitoring of the Redis server #Compress string objects using LZF when dump .rdb databases? #Since version 5 of RDB a CRC64 checksum is placed at the end of the file. #RDB files created with checksum disabled have a checksum of zero that will #The filename where to dump the DB #The working directory. #The DB will be written inside this directory, with the filename specified #The Append Only File will also be created inside this directory. #Note that you must specify a directory here, not a file name. #################################REPLICATION ################################# #Master-Slave replication. Use slaveof to make a Redis instance a copy of #slaveof #If the master is password protected (using the "requirepass" configuration #masterauth #When a slave loses its connection with the master, or when the replication #1) if slave-serve-stale-data is set to 'yes' (the default) the slave will #2) if slave-serve-stale-data is set to 'no' the slave will reply with slave-serve-stale-data yes #You can configure a slave instance to accept writes or not. Writing against #Since Redis 2.6 by default slaves are read-only. #Note: read only slaves are not designed to be exposed to untrusted clients #Slaves send PINGs to server in a predefined interval. It's possible to change #repl-ping-slave-period 10 #The following option sets a timeout for both Bulk transfer I/O timeout and #It is important to make sure that this value is greater than the value #repl-timeout 60 #Disable TCP_NODELAY on the slave socket after SYNC? #If you select "yes" Redis will use a smaller number of TCP packets and #If you select "no" the delay for data to appear on the slave side will #By default we optimize for low latency, but in very high traffic conditions #The slave priority is an integer number published by Redis in the INFO output. #A slave with a low priority number is considered better for promotion, so #However a special priority of 0 marks the slave as not able to perform the #By default the priority is 100. ##################################SECURITY ################################### #Require clients to issue AUTH before processing any other #This should stay commented out for backward compatibility and because most #Warning: since Redis is pretty fast an outside user can try up to #requirepass foobared #Command renaming. #It is possible to change the name of dangerous commands in a shared #Example: #rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #It is also possible to completely kill a command by renaming it into #rename-command CONFIG "" #Please note that changing the name of commands that are logged into the ###################################LIMITS #################################### #Set the max number of connected clients at the same time. By default #Once the limit is reached Redis will close all the new connections sending #maxclients 10000 #The Linux version of Redis relies on the system call fork() to perform #*** There must be disk space available for this file in order for Redis #The maxheap flag controls the maximum size of this memory mapped file, #(size of physical memory) + (2 * size of maxheap) #For instance, on a machine with 8GB of physical RAM, the max page file #The Redis heap must be larger than the value specified by the maxmemory maxheap 1gb #Don't use more memory than the specified amount of bytes. #If Redis can't remove keys according to the policy, or if the policy is #This option is usually useful when using Redis as an LRU cache, or to set #WARNING: If you have slaves attached to an instance with maxmemory on, #In short... if you have slaves attached it is suggested that you set a lower maxmemory 512mb #MAXMEMORY POLICY: how Redis will select what to remove when maxmemory #volatile-lru -> remove the key with an expire set using an LRU algorithm #Note: with any of the above policies, Redis will return an error on write #At the date of writing this commands are: set setnx setex append #The default is: #maxmemory-policy volatile-lru #LRU and minimal TTL algorithms are not precise algorithms but approximated #maxmemory-samples 3 ##############################APPEND ONLY MODE ############################### #By default Redis asynchronously dumps the dataset on disk. This mode is #The Append Only File is an alternative persistence mode that provides #AOF and RDB persistence can be enabled at the same time without problems. #Please check http://redis.io/topics/persistence for more information. appendonly no #The name of the append only file (default: "appendonly.aof") #The fsync() call tells the Operating System to actually write data on disk #Redis supports three different modes: #no: don't fsync, just let the OS flush the data when it wants. Faster. #The default is "everysec", as that's usually the right compromise between #More details please check the following article: #If unsure, use "everysec". #appendfsync always #When the AOF fsync policy is set to always or everysec, and a background #In order to mitigate this problem it's possible to use the following option #This means that while another child is saving, the durability of Redis is #If you have latency problems turn this to "yes". Otherwise leave it as #Automatic rewrite of the append only file. #This is how it works: Redis remembers the size of the AOF file after the #This base size is compared to the current size. If the current size is #Specify a percentage of zero in order to disable the automatic AOF auto-aof-rewrite-percentage 100 ################################LUA SCRIPTING ############################### #Max execution time of a Lua script in milliseconds. #If the maximum execution time is reached Redis will log that a script is #When a long running script exceed the maximum execution time only the #Set it to 0 or a negative value for unlimited execution without warnings. ##################################SLOW LOG ################################### #The Redis Slow Log is a system to log queries that exceeded a specified #You can configure the slow log with two parameters: one tells Redis #The following time is expressed in microseconds, so 1000000 is equivalent #There is no limit to this length. Just be aware that it will consume memory. ###############################ADVANCED CONFIG ############################### #Hashes are encoded using a memory efficient data structure when they have a #Similarly to hashes, small lists are also encoded in a special way in order #Sets have a special encoding in just one case: when a set is composed #Similarly to hashes and lists, sorted sets are also specially encoded in #Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in #The default is to use this millisecond 10 times every second in order to #If unsure: #use "activerehashing yes" if you don't have such hard requirements but #The client output buffer limits can be used to force disconnection of clients #The limit can be set differently for the three different classes of clients: #normal -> normal clients #The syntax of every client-output-buffer-limit directive is the following: #client-output-buffer-limit #A client is immediately disconnected once the hard limit is reached, or if #By default normal clients are not limited because they don't receive data #Instead there is a default limit for pubsub and slave clients, since #Both the hard or the soft limit can be disabled by setting them to zero. #Redis calls an internal function to perform many background tasks, like #Not all tasks are perforemd with the same frequency, but Redis checks for #By default "hz" is set to 10. Raising the value will use more CPU when #The range is between 1 and 500, however a value over 100 is usually not #When a child rewrites the AOF file, if the following option is enabled ##################################INCLUDES ################################### #Include one or more other config files here. This is useful if you #include /path/to/local.conf |
Hi @284187773, |
Recently,I have a issue about Redis 2.8.9 (32 bit).
Client use Java language.Error log information as follows:
[ERROR] 2015-06-16 09:16:22-org.jredis.connector.ConnectionReset: (potential redis timeout) Connection re-established but last request not processed: socket exception cause: => [SocketException: Connection reset by peer: socket write error]
01434420218726 Tue Jun 16 10:03:38 CST 2015 JRedis[tid:121] <信息>: WARNING: heartbeat is disabled.
The redis erro log is:
[1916] 11 Jun 01:12:08.070 * 100 changes in 300 seconds. Saving...
[1916] 11 Jun 01:12:30.195 # Can't save in background: fork: Invalid argument
.
.-
__ ''-._ _.-
.
. ''-._ Redis 2.8.9 (00000000/0) 32 bit.-
.-``.``\/ _.,_ ''-._ ( ' , .-
|, ) Running in stand alone mode |
-.-...-
__...-.-._|'
.-'| Port: 6379|
-._
._ / .-' | PID: 1808-._
-.-./ _.-' _.-' |
-.-._
-.**.-' .-'.-'||
-._
-. .-'.-' | http://redis.io-._
-.-.**.-'_.-' _.-' |
-.-._
-.**.-' .-'.-'||
-._
-._ .-'.-' |-._
-.-.**.-'_.-' _.-'
-.-.__.-' _.-'
-._ _.-'`-.__.-'
[1808] 16 Jun 10:06:05.004 # Server started, Redis version 2.8.9
[1808] 16 Jun 10:06:05.411 * DB loaded from disk: 0.406 seconds
[1808] 16 Jun 10:06:05.411 * The server is now ready to accept connections on port 6379
[1808] 16 Jun 10:10:50.489 * 10000 changes in 60 seconds. Saving...
[1808] 16 Jun 10:10:51.192 # fork operation complete
[1808] 16 Jun 10:10:51.270 * Background saving terminated with success
After 11 Jun 01:12:30.195, there is no logs about redis working. The redis server Recovered until I rebooted the redis server at 16 Jun 10:06:05.004 .
The redis server is down. I must reboot the redis server.
How to solve this issue.Thanks!
The text was updated successfully, but these errors were encountered: