When executing the command, java client sends the command in the form of message (Parts). If there is a failure during the send, it retries number of times based on the retry-attempt setting.
If there is a failure in the first attempt due to Exception (IOException, EOFException - read timeout); during the second attempt the client is sending partial data, instead of the complete data.
This could be reproduced by setting a small read-timeout and large object (Put).
Because of this, the put from client succeeds by creating partial data on the server cache. Since the data is stored in serialized form, there is no exception thrown during put() operation, giving an impression that put operation is successful.
The workaround for now is to have large read-timeout setting; while trying to send a large object.