Hi all,
I was checking db_cassandra with Kamailio 4.3 recently to try making it work as a usrloc back-end, and my observation is that the module has quite some issues.
In general, the module states that it's only tested with cassandra 1.0.6, which is really out-dated. I tried with the latest version of the 1.0 series (1.0.12) and even with lots of fiddling I didn't manage to make it work, could be my fault though. There has not been any work for 4 years other than cosmetical documentation fixes two years ago.
Documentation is missing important information how to set up the version table, that could be fixed though. The schema definition in the documentation is missing new columns which have been introduced, that could be fixed as well.
The module uses the legacy thrift interface, whereas nowadays (since cassandra 1.2+) a native cql driver is available as open-source.
The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra.
Our plan is to revamp the whole module and make it work with recent cassandra versions and remove the nat ping limitations. Main question is whether to go for a new module or replacing the old one, since it doesn't seem to work anymore anyways.
Feedback whether you got it working with Kamailio 4.3+ and your views on future plans is much appreciated!
Andreas
Hello,
I haven't used Cassandra at all, maybe some of the devs at 1&1 can share if they have any plans or usage stats for it, being the initial developers of the module.
For me it is ok to introduce a new module as well, the old one can be removed afterwards if the new one overtakes it in features.
What I actually wanted to discuss is regarding the query for NAT pinging -- with recent versions, there should be a dedicated column for querying natted records. It is no longer relying of flags (and bitwise operations) for this case. Or did you have in mind something else with:
""" The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra. """
Cheers, Daniel
On 31/03/16 12:17, Andreas Granig wrote:
Hi all,
I was checking db_cassandra with Kamailio 4.3 recently to try making it work as a usrloc back-end, and my observation is that the module has quite some issues.
In general, the module states that it's only tested with cassandra 1.0.6, which is really out-dated. I tried with the latest version of the 1.0 series (1.0.12) and even with lots of fiddling I didn't manage to make it work, could be my fault though. There has not been any work for 4 years other than cosmetical documentation fixes two years ago.
Documentation is missing important information how to set up the version table, that could be fixed though. The schema definition in the documentation is missing new columns which have been introduced, that could be fixed as well.
The module uses the legacy thrift interface, whereas nowadays (since cassandra 1.2+) a native cql driver is available as open-source.
The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra.
Our plan is to revamp the whole module and make it work with recent cassandra versions and remove the nat ping limitations. Main question is whether to go for a new module or replacing the old one, since it doesn't seem to work anymore anyways.
Feedback whether you got it working with Kamailio 4.3+ and your views on future plans is much appreciated!
Andreas
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi Daniel,
On 03/31/2016 12:45 PM, Daniel-Constantin Mierla wrote:
I haven't used Cassandra at all, maybe some of the devs at 1&1 can share if they have any plans or usage stats for it, being the initial developers of the module.
Let's see if someone chimes in. Not sure if Anca is still involved, or if/how it's actually used at 1&1 or anywhere else.
For me it is ok to introduce a new module as well, the old one can be removed afterwards if the new one overtakes it in features.
Makes sense, although I doubt someone is using it with recent Kamailio versions due to the issues at least I encountered with it. The new module in itself will be a drop-in replacement of the current one (so we could re-use the same name but rewriting it from scratch), the only limitation I can see for now is that it won't support cassandra version older than 1.2 due to lack of cql support. So having a grace period (or a parallel module with a different name) is fine with me.
What I actually wanted to discuss is regarding the query for NAT pinging -- with recent versions, there should be a dedicated column for querying natted records. It is no longer relying of flags (and bitwise operations) for this case. Or did you have in mind something else with:
""" The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra. """
Actually one of the issues with the cassandra schema is that the new columns introduced in location e.g. for natping are not reflected in the module's table schema. I haven't looked into the details of the db query the module tries to do in case of natping, I was just observing the errors the module was throwing for each natping attempt.
The plan is to use the new way of querying records for natping anyways.
Andreas
Hello Andreas,
On 31/03/16 12:57, Andreas Granig wrote:
Hi Daniel,
On 03/31/2016 12:45 PM, Daniel-Constantin Mierla wrote:
I haven't used Cassandra at all, maybe some of the devs at 1&1 can share if they have any plans or usage stats for it, being the initial developers of the module.
Let's see if someone chimes in. Not sure if Anca is still involved, or if/how it's actually used at 1&1 or anywhere else.
For me it is ok to introduce a new module as well, the old one can be removed afterwards if the new one overtakes it in features.
Makes sense, although I doubt someone is using it with recent Kamailio versions due to the issues at least I encountered with it. The new module in itself will be a drop-in replacement of the current one (so we could re-use the same name but rewriting it from scratch), the only limitation I can see for now is that it won't support cassandra version older than 1.2 due to lack of cql support. So having a grace period (or a parallel module with a different name) is fine with me.
Perhaps is good to just replace it with a fresh implementation. I don't think there will be much (any) use of the old version. Anyhow, the old module can be moved to obsolete folder and if someone needs to work with an older lib, it can be rescue it from there.
Cheers, Daniel
What I actually wanted to discuss is regarding the query for NAT pinging -- with recent versions, there should be a dedicated column for querying natted records. It is no longer relying of flags (and bitwise operations) for this case. Or did you have in mind something else with:
""" The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra. """
Actually one of the issues with the cassandra schema is that the new columns introduced in location e.g. for natping are not reflected in the module's table schema. I haven't looked into the details of the db query the module tries to do in case of natping, I was just observing the errors the module was throwing for each natping attempt.
The plan is to use the new way of querying records for natping anyways.
Andreas
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi guys,
At 1&1 we actually haven't used db_cassandra, but were aware of some of its shortcomings (e.g. thrift interface). Do you consider Cassandra is stable and easy enough to maintain so as to use it as usrloc back-end? Are you also considering other alternatives?
Have a nice day, Lucian
On 31.03.2016 14:09, Daniel-Constantin Mierla wrote:
Hello Andreas,
On 31/03/16 12:57, Andreas Granig wrote:
Hi Daniel,
On 03/31/2016 12:45 PM, Daniel-Constantin Mierla wrote:
I haven't used Cassandra at all, maybe some of the devs at 1&1 can share if they have any plans or usage stats for it, being the initial developers of the module.
Let's see if someone chimes in. Not sure if Anca is still involved, or if/how it's actually used at 1&1 or anywhere else.
For me it is ok to introduce a new module as well, the old one can be removed afterwards if the new one overtakes it in features.
Makes sense, although I doubt someone is using it with recent Kamailio versions due to the issues at least I encountered with it. The new module in itself will be a drop-in replacement of the current one (so we could re-use the same name but rewriting it from scratch), the only limitation I can see for now is that it won't support cassandra version older than 1.2 due to lack of cql support. So having a grace period (or a parallel module with a different name) is fine with me.
Perhaps is good to just replace it with a fresh implementation. I don't think there will be much (any) use of the old version. Anyhow, the old module can be moved to obsolete folder and if someone needs to work with an older lib, it can be rescue it from there.
Cheers, Daniel
What I actually wanted to discuss is regarding the query for NAT pinging -- with recent versions, there should be a dedicated column for querying natted records. It is no longer relying of flags (and bitwise operations) for this case. Or did you have in mind something else with:
""" The module can not be used together with nathelper for nat pings, since the queries don't provide a key, which is required for cassandra. """
Actually one of the issues with the cassandra schema is that the new columns introduced in location e.g. for natping are not reflected in the module's table schema. I haven't looked into the details of the db query the module tries to do in case of natping, I was just observing the errors the module was throwing for each natping attempt.
The plan is to use the new way of querying records for natping anyways.
Andreas
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi Lucian,
On 03/31/2016 01:36 PM, Lucian Balaceanu wrote:
At 1&1 we actually haven't used db_cassandra, but were aware of some of its shortcomings (e.g. thrift interface). Do you consider Cassandra is stable and easy enough to maintain so as to use it as usrloc back-end? Are you also considering other alternatives?
We're planning to introduce cassandra for sharding of certain huge data sets (voice/video-mails etc.), and related to kamailio maybe using it to distribute heavy writes in a cluster (to sync location or certain presence information) is at least under serious consideration, but really depends on benchmarking results. So for now cassandra is still in evaluation.
For usrloc itself, we used to use a quite old mysql-cluster (ndb) version with good success for years, but stability during maintenance has always been a concern, as it was quite fragile if you touched it (extending nodes etc). This, and performance, seems to have been improved a lot over the last years, so we're reconsidering that as another option at least for kamailio-related parts. Advantage here is that it just works transparently from a mysql driver point of view.
Andreas