Skip to content

Commit

Permalink
Eventing: fix bucket cache tests for non-default collection
Browse files Browse the repository at this point in the history
Change-Id: I3d5e84066147e2da43e694adfcd008652c498e73
Reviewed-on: http://review.couchbase.org/c/testrunner/+/158534
Reviewed-by: Chanabasappa Ghali <chanabasappa.ghali@couchbase.com>
Tested-by: Chanabasappa Ghali <chanabasappa.ghali@couchbase.com>
  • Loading branch information
Sujay2611 committed Aug 4, 2021
1 parent 0dbaa97 commit b9c9ac9
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 8 deletions.
36 changes: 28 additions & 8 deletions pytests/eventing/eventing_bucket_cache.py
Expand Up @@ -62,7 +62,12 @@ def tearDown(self):

def test_compare_cached_doc_with_kv_bucket_doc(self):
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_compare_values.js")
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
if self.non_default_collection:
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "scope_name": self.dst_bucket_name1,
"collection_name": self.dst_bucket_name1, "access": "rw"})
else:
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
self.rest.update_function(body['appname'], body)
if self.non_default_collection:
self.load_data_to_collection(self.docs_per_day * self.num_docs, "src_bucket.src_bucket.src_bucket")
Expand All @@ -89,7 +94,12 @@ def test_compare_cached_doc_with_kv_bucket_doc(self):

def test_read_your_own_write_bucket_cache(self):
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_ryow.js")
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
if self.non_default_collection:
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "scope_name": self.dst_bucket_name1,
"collection_name": self.dst_bucket_name1, "access": "rw"})
else:
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
self.rest.update_function(body['appname'], body)
if self.non_default_collection:
self.load_data_to_collection(self.docs_per_day * self.num_docs, "src_bucket.src_bucket.src_bucket")
Expand All @@ -115,9 +125,14 @@ def test_read_your_own_write_bucket_cache(self):
self.undeploy_and_delete_function(body)

def test_cache_overflow_when_total_docs_size_greater_than_cache_size(self):
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_overflow.js")
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
if self.non_default_collection:
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_overflow_non_default_collection.js")
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1,"scope_name": self.dst_bucket_name1,
"collection_name": self.dst_bucket_name1, "access": "rw"})
else:
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_overflow.js")
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
# set cache age to 1 min to ensure no expiry
body['settings']['bucket_cache_age'] = 60000
self.rest.update_function(body['appname'], body)
Expand Down Expand Up @@ -148,9 +163,14 @@ def test_cache_overflow_when_total_docs_size_greater_than_cache_size(self):
assert stats[0]["failure_stats"]["bucket_op_cache_miss_count"] > 8, "No cache miss occurred."

def test_all_docs_are_fetched_from_cache_when_total_doc_size_less_than_cache_size(self):
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_underflow.js")
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
if self.non_default_collection:
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_underflow_non_default_collection.js")
body['depcfg']['buckets'].append(
{"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1,"scope_name": self.dst_bucket_name1,
"collection_name": self.dst_bucket_name1, "access": "rw"})
else:
body = self.create_save_function_body(self.function_name, "handler_code/ABO/cache_underflow.js")
body['depcfg']['buckets'].append({"alias": self.dst_bucket_name1, "bucket_name": self.dst_bucket_name1, "access": "rw"})
# set cache age to 1 min to ensure no expiry
body['settings']['bucket_cache_age'] = 60000
self.rest.update_function(body['appname'], body)
Expand Down
@@ -0,0 +1,41 @@
function OnUpdate(doc, meta) {
var value = {'big number': '1'.repeat(10*1024*1024), 'overflow': false};
for(var i=1;i<=8;i++)
{
var result= couchbase.insert(dst_bucket, {id: meta.id + i.toString()}, value);
log(result);
couchbase.get(dst_bucket, {id: meta.id + i.toString()}, {"cache": true});
}
var create_index=CREATE PRIMARY INDEX ON dst_bucket.dst_bucket.dst_bucket;
var query=UPDATE dst_bucket.dst_bucket.dst_bucket SET overflow = true;
log(query,meta.id);
var check = false;
for(var i=1;i<=8;i++)
{
var a=couchbase.get(dst_bucket, {id: meta.id + i.toString()}, {"cache": true});
log(a.doc.overflow);
if(a.doc.overflow == true)
{
check=true;
break;
}
}
if(check)
{
var result1= couchbase.insert(dst_bucket1,meta,doc);
log(result1);
}


}

function OnDelete(meta, options) {
for(var i=1;i<=8;i++)
{
var result = couchbase.delete(dst_bucket,{id:meta.id + i.toString()});
log(result);
}
var doc={"id":meta.id}
var result1 = couchbase.delete(dst_bucket1,doc);
log(result1);
}
@@ -0,0 +1,41 @@
function OnUpdate(doc, meta) {
var value = {'big number': '1'.repeat(10*1024*1024), 'underflow': false};
for(var i=1;i<=6;i++)
{
var result= couchbase.insert(dst_bucket, {id: meta.id + i.toString()}, value);
log(result);
couchbase.get(dst_bucket, {id: meta.id + i.toString()}, {"cache": true});
}
var create_index=CREATE PRIMARY INDEX ON dst_bucket.dst_bucket.dst_bucket;
var query=UPDATE dst_bucket.dst_bucket.dst_bucket SET underflow = true;
log(query,meta.id);
var check = false;
for(var i=1;i<=6;i++)
{
var a=couchbase.get(dst_bucket, {id: meta.id + i.toString()}, {"cache": true});
log(a.doc.underflow);
if(a.doc.underflow == true)
{
check=true;
break;
}
}
if(!check)
{
var result1= couchbase.insert(dst_bucket1,meta,doc);
log(result1);
}


}

function OnDelete(meta, options) {
for(var i=1;i<=6;i++)
{
var result = couchbase.delete(dst_bucket,{id:meta.id + i.toString()});
log(result);
}
var doc={"id":meta.id}
var result1 = couchbase.delete(dst_bucket1,doc);
log(result1);
}

0 comments on commit b9c9ac9

Please sign in to comment.