In Eventing, when one tries to delete a key which doesn’t exist from a bucket, we throw an exception. This isn’t the case one tries to delete a key from JS object. Thus, we have different behaviour in the language for the same operator.
As per the standard, none of these 2 operations throw exceptions when dealing with non-existent keys. “get” will return undefined if the key doesn’t exist. This is a bug as we should stay consistent with the host language as far as possible, and there is no good reason to deviate here.
We may need to ensure backwards compatibility (
|For Gerrit Dashboard: MB-32244|
|104675,3||[MB-32244] Do not throw exception for ENOENT bucket op||unstable||eventing||Status: MERGED||+2||+1|
|116640,34||[MB-32244] Add ability to choose language behaviour||unstable||eventing||Status: MERGED||+2||+1|