@@ -476,7 +476,7 @@ else if ( NOTFOUND.equals( line ) ) {
476476 }
477477 else {
478478 log .error ( "++++ error deleting key: " + key );
479- log .error ( line );
479+ log .error ( "++++ server response: " + line );
480480 }
481481 }
482482 catch ( IOException e ) {
@@ -811,10 +811,8 @@ private boolean set( String cmdname, String key, Object value, Date expiry, Inte
811811
812812 // now write the data to the cache server
813813 try {
814- String cmd = cmdname + " " + key + " " + flags + " "
815- + expiry .getTime () / 1000 + " " + val .length ;
814+ String cmd = String .format ( "%s %s %d %d %d\r \n " , cmdname , key , flags , (expiry .getTime () / 1000 ), val .length );
816815 sock .write ( cmd .getBytes () );
817- sock .write ( "\r \n " .getBytes () );
818816 sock .write ( val );
819817 sock .write ( "\r \n " .getBytes () );
820818 sock .flush ();
@@ -834,7 +832,7 @@ else if ( NOTSTORED.equals( line ) ) {
834832 }
835833 else {
836834 log .error ( "++++ error storing data in cache for key: " + key + " -- length: " + val .length );
837- log .error ( line );
835+ log .error ( "++++ server response: " + line );
838836 }
839837 }
840838 catch ( IOException e ) {
@@ -1129,7 +1127,7 @@ private long incrdecr( String cmdname, String key, long inc, Integer hashCode )
11291127 return -1 ;
11301128
11311129 try {
1132- String cmd = cmdname + " " + key + " " + inc + " \r \n " ;
1130+ String cmd = String . format ( "%s %s %d \r \n " , cmdname , key , inc ) ;
11331131 log .debug ( "++++ memcache incr/decr command: " + cmd );
11341132
11351133 sock .write ( cmd .getBytes () );
@@ -1158,7 +1156,8 @@ else if ( NOTFOUND.equals( line ) ) {
11581156 log .info ( "++++ key not found to incr/decr for key: " + key );
11591157 }
11601158 else {
1161- log .error ( "error incr/decr key: " + key );
1159+ log .error ( "++++ error incr/decr key: " + key );
1160+ log .error ( "++++ server response: " + line );
11621161 }
11631162 }
11641163 catch ( IOException e ) {
@@ -1264,8 +1263,8 @@ public Object get( String key, Integer hashCode, boolean asString ) {
12641263 return null ;
12651264
12661265 try {
1267- String cmd = "get " + key + " \r \n " ;
1268- log .debug ("++++ memcache get command: " + cmd );
1266+ String cmd = String . format ( "get %s \r \n " , key ) ;
1267+ log .debug ( "++++ memcache get command: " + cmd );
12691268
12701269 sock .write ( cmd .getBytes () );
12711270 sock .flush ();
@@ -1782,8 +1781,8 @@ public Map statsSlabs( String[] servers ) {
17821781 * @param slabNumber the item number of the cache dump
17831782 * @return Stats map
17841783 */
1785- public Map statsCacheDump ( int slabNumber ) {
1786- return statsCacheDump ( null , slabNumber );
1784+ public Map statsCacheDump ( int slabNumber , int limit ) {
1785+ return statsCacheDump ( null , slabNumber , limit );
17871786 }
17881787
17891788 /**
@@ -1797,8 +1796,8 @@ public Map statsCacheDump( int slabNumber ) {
17971796 * @param slabNumber the item number of the cache dump
17981797 * @return Stats map
17991798 */
1800- public Map statsCacheDump ( String [] servers , int slabNumber ) {
1801- return stats ( servers , "stats cachedump " + String .valueOf ( slabNumber ) + " \r \n " , ITEM );
1799+ public Map statsCacheDump ( String [] servers , int slabNumber , int limit ) {
1800+ return stats ( servers , String .format ( "stats cachedump %d %d \r \n ", slabNumber , limit ) , ITEM );
18021801 }
18031802
18041803 private Map stats ( String [] servers , String command , String lineStart ) {
@@ -1869,6 +1868,11 @@ else if ( END.equals( line ) ) {
18691868 log .debug ( "++++ finished reading from cache server" );
18701869 break ;
18711870 }
1871+ else if ( line .startsWith ( ERROR ) || line .startsWith ( CLIENT_ERROR ) || line .startsWith ( SERVER_ERROR ) ) {
1872+ log .error ( "++++ failed to query stats" );
1873+ log .error ( "++++ server response: " + line );
1874+ break ;
1875+ }
18721876
18731877 statsMaps .put ( servers [i ], stats );
18741878 }
0 commit comments