@miconda there was a copy&paste error here in my description
complete configuration looks like this:

# ----- db_cluster params ------
modparam("db_cluster", "connection", DB_URL_REDIS_READ)
modparam("db_cluster", "connection", DB_URL_REDIS_WRITE)
modparam("db_cluster", "cluster", "cluster1=>c1=9r0p;c2=0r9p")

So the configuration looks complete according to Readme. Still the debug prints i added revealed the len mismatch.
I have workarounded it in db_cluster module by recalculating the len in db_cluster_init. Here is the patch including the change and debug prints:

diff --git a/src/modules/db_cluster/dbcl_api.c b/src/modules/db_cluster/dbcl_api.c
index 111abcca2..b1ddcd9fc 100644
--- a/src/modules/db_cluster/dbcl_api.c
+++ b/src/modules/db_cluster/dbcl_api.c
@@ -264,27 +264,27 @@ db1_con_t* db_cluster_init(const str* _dburl)
        dbcl_cls_t *cls=NULL;
        str name;
 
-       LM_DBG("initializing with cluster [%.*s]\n", _dburl->len, _dburl->s);
+       LM_DBG("initializing with cluster [%.*s] len %d\n", _dburl->len, _dburl->s, _dburl->len);
        if(_dburl->len<10 || strncmp(_dburl->s, "cluster://", 10)!=0)
        {
-               LM_ERR("invlaid url for cluster module [%.*s]\n",
+               LM_ERR("invalid url for cluster module [%.*s]\n",
                                _dburl->len, _dburl->s);
                return NULL;
        }
        name.s = _dburl->s + 10;
-       name.len = _dburl->len - 10;
+       name.len = strlen(_dburl->s) - 10;
        trim(&name);
        cls = dbcl_get_cluster(&name);
        if(cls==NULL)
        {
                LM_ERR("cluster not found [%.*s]\n",
-                               _dburl->len, _dburl->s);
+                               name.len, name.s);
                return NULL;
        }
        if(dbcl_init_dbf(cls)<0)
        {
                LM_ERR("cluster [%.*s] - unable to bind to DB engines\n",
-                               _dburl->len, _dburl->s);
+                               name.len, name.s);
                return NULL;
        }
        dbcl_init_connections(cls);

I will re-test it against the latest master and report if I still need the patch.
But was thinking perhaps that the root cause is some changes in srdb1 lib.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.