Hide Forgot
project_key: EDG in original memcached server this is possible: $ export KEY300=<key with length 300 chars> $ echo -e "add $KEY300 0 0 1\r\nget a\r" | nc localhost 11212 CLIENT_ERROR bad command line format END i.e. the second get command gets processed our server: $ echo -e "add $KEY300 0 0 1\r\nget a\r" | nc localhost 11211 CLIENT_ERROR org.infinispan.server.core.ServerException: java.io.IOException: Key length over the 250 character limit what happens is following: 1. key is read up to "add $KEY300 " and exception is thrown org.infinispan.server.core.ServerException: java.io.IOException: Key length over the 250 character limit 2. this is sent back to client as CLIENT_ERROR and connection is closed 3. next command is read from input "0 0 1\r\nget a\r" leading to org.infinispan.server.core.UnknownOperationException: Unknown operation: 0 4. SERVER_ERROR (should be ERROR, but JBPAPP-5413 deals with this) is attempted to be sent to client 5. connection is already closed so we have java.nio.channels.ClosedChannelException it's actually two issues here A. step 2 shouldn't close connection because this is allowed only on SERVER_ERRORs B. before CLIENT_ERROR is sent to client we should have read the whole line of input (the remaining "0 0 1\r\n") so that we don't get this in step 3
oh, forgot to mention that I'm already testing with infinispan 4.2.0.BETA1
errors 3 and 5. can be only seen in server log, they are not returned to the client
Link: Added: This issue depends ISPN-782
Link: Added: This issue depends ISPN-783
one more testcase for ISPN-783: echo -e "cas bad 0 0 1 0 0\r\nget a\r" | nc localhost 11211 (the get command gets lost)