removeMulti error result not expected


#1

Hello,

I have an unexpected behavior from removeMulti with {persist_to: 1} which report an error “The key does not exist on the server” when the key actually exist and it actually remove the key.

Here is the code which return an error:

db.set(‘test1’, ‘value1’, {persist_to: 1}, function(error, result) {
console.log(‘set’, error, result);
db.get(‘test1’, {}, function(error, result) {
console.log(‘get’, error, result);
db.removeMulti([‘test1’], {persist_to: 1}, function(error, result) {
console.log(‘remove’, error, result);
db.shutdown();
});
});
});

set and get request does reply as expected without error but removeMulti report the following error:

{ [Error: At least one of your operations failed, check the results object for more information.] code: 4101 } { test1:
{ cas: { ‘0’: 686227712, ‘1’: 1147362553 },
error: { [Error: The key does not exist on the server] code: 13 } } }

This is strange because the key ‘test1’ is actually deleted and a simple remove work as expected:

db.set(‘test1’, ‘value1’, {persist_to: 1}, function(error, result) {
console.log(‘set’, error, result);
db.get(‘test1’, {}, function(error, result) {
console.log(‘get’, error, result);
db.remove(‘test1’, {persist_to: 1}, function(error, result) {
console.log(‘remove’, error, result);
db.shutdown();
});
});
});

I have run those 2 tests with the driver 1.2.4 and 2.0.0-dp1 and the community edition 2.2.0 of Couchbase.

Is this expected or I misunderstood something with removeMulti?

Thanks,

David