Which enterprise operation am I using?

Given below are some lines of code that I’ve taken from examples provided on github. I’m getting the error code “AEROSPIKE_ERR_ENTERPRISE_ONLY”. I don’t see which enterprise operation I’m using here:

as_key rkey;
as_key_init_int64(&rkey,"test", "test_nested_map", 17);

as_hashmap m1;
as_hashmap_init(&m1, 2);
as_string k11;
as_string_init(&k11,(char*) "key11", false);
as_integer v11;
as_integer_init(&v11, 9);
as_hashmap_set(&m1, (as_val*)&k11, (as_val*)&v11);
as_string k12;
as_string_init(&k12,(char*) "key12", false);
as_integer v12;
as_integer_init(&v12, 4);
as_hashmap_set(&m1, (as_val*)&k12, (as_val*)&v12);

as_hashmap m2;
as_hashmap_init(&m2, 2);
as_string k21;
as_string_init(&k21,(char *) "key21", false);
as_integer v21;
as_integer_init(&v21, 3);
as_hashmap_set(&m2, (as_val*)&k21, (as_val*)&v21);
as_string k22;
as_string_init(&k22,(char *) "key22", false);
as_integer v22;
as_integer_init(&v22, 5);
as_hashmap_set(&m2, (as_val*)&k22, (as_val*)&v22);

as_hashmap map;
as_hashmap_init(&map, 2);
as_string k1;
as_string_init(&k1,(char*) "key1", false);
as_hashmap_set(&map, (as_val*)&k1, (as_val*)&m1);
as_string k2;
as_string_init(&k2,(char *) "key2", false);
as_hashmap_set(&map, (as_val*)&k2, (as_val*)&m2);

as_record rec;
as_record_inita(&rec, 1);
as_record_set_map(&rec,(char *) "newBin", (as_map*)&map);
as_error err;
as_status status = aerospike_key_put(DbInstance(), &err, NULL, &rkey, &rec);
if(status != AEROSPIKE_OK)
{
  printf("\n[%s::%d]Error [%d] , Error_Msg-->%s-- \n",__FILE__,__LINE__,err.code, err.message);
  as_record_destroy(&rec);
  return -1;
}
else
{
  printf("\n[%s::%d] Success\n",__FILE__,__LINE__);
  as_record_destroy(&rec);
}

Check your server logs for a warning message about “enterprise feature”. That should give you more detailed information.

I’m getting this warning everytime I run my program:

WARNING (rw): (rw_utils_ce.c:107) durable delete is an enterprise feature

But I don’t understand why the warning talks about durable delete when I’m not doing any deletes in my program? I’m using the following versions:

aerospike-server-community-4.6.0.2-1.el7.x86_64
aerospike-client-c-4.6.6-1.el7.x86_64

This error will occur if durable_delete policy flag is set on any write and you are not running an enterprise server. Your policy is not set in aerospike_key_put(), so the default write policy is being used.

Please provide entire source code including your configuration and connection of DbInstance().

Looking at your question, it appears you may be using a Client that is/was configured to connect to a cluster running the Aerospike Enterprise Edition. Aerospike does not allow Enterprise Licensees to run Aerospike’s Community Edition in production environments.

For development and testing environments, the Aerospike Enterprise License allows unlimited use of the Aerospike Enterprise Edition.

You’re right. I was setting the durable_delete policy while making the connection. Thanks a lot.

This topic was automatically closed 6 days after the last reply. New replies are no longer allowed.

© 2015 Copyright Aerospike, Inc. | All rights reserved. Creators of the Aerospike Database.