Kinetic / kinetic-protocol

34 stars 21 forks source link

Delete a non-existent key #31

Open pareshpp opened 9 years ago

pareshpp commented 9 years ago

I wanted a clarification on behavior of delete operation on a non-existent key. When delete operates on a non-existent key, the simulator returns True if force=True and false otherwise.

Why is the difference in behavior because of force=True while deleting a non-existent key if force=True has to do with db version?

c = Client('localhost', 8123) c.connect() c.delete('kfsdfdsfdbskljfdskfs9000000', force=True) True c.delete('kfsdfdsfdbskljfdskfs9000000') False

chiaming2000 commented 9 years ago

For forced delete: The client API library returns true if operation is successfully returned from server (status code from device/simulator == SUCCESS). Device/simulator does not check if entry exists in store.

For versioned delete: The client API library returns true if entry is found and deleted (status code from device/simulator == SUCCESS). Otherwise, returns false (status code from device/simulator == NOT_FOUND). The device/simulator DOES check if entry exists in store.

Please see Javadoc also for more information: http://seagate.github.io/kinetic-java/index.html?kinetic/client/KineticClient.html

Thanks. chiaming

On Fri, Aug 21, 2015 at 6:35 AM, pareshpp notifications@github.com wrote:

I wanted a clarification on behavior of delete operation on a non-existent key. When delete operates on a non-existent key, the simulator returns True if force=True and false otherwise.

Why is the difference in behavior because of force=True while deleting a non-existent key if force=True has to do with db version?

c = Client('localhost', 8123) c.connect() c.delete('kfsdfdsfdbskljfdskfs9000000', force=True) True c.delete('kfsdfdsfdbskljfdskfs9000000') False

— Reply to this email directly or view it on GitHub https://github.com/Seagate/kinetic-protocol/issues/31.