Set the dnssrv=off flag in code

Not a C developer, so bear with me. I’m trying to update an existing client library that uses libcouchbase to supply the dnssrv=off param for the connection but I’m not sure how.

For anyone familiar, it’s the now-unsupported couchbase-ruby-client, but the question is really about libcouchbase itself.

I have a lcb_t in bucket->handle and I’ve tried lcb_cntl_string(bucket->handle, “dnssrv”, “off”); The connection still succeeds, and I know it’s using my new code because I’ve added some printf statements, but this has no effect. Using tcpdump I still see that dns srv requests are going out for _couchbase._tcp.

Hi @mikesnare, thanks for interest for ruby SDK!

Could you tell which version of libcouchbase are you using? The “dnssrv=” setting checked during lcb_create call, so it might be too late to apply it using lcb_cntl. To disable SRV requests completely, you have to use dnssrv=off in your connection string. which stored in lcb_create_st argument of lcb_create function.

Thanks @avsej, I’m using 2.8.0. I see where lcb_create is called, but I’m not sure how to update the options being sent to include something that would instruct libcouchbase to use the dnssrv=off string.

I’m using v2 of lcb_create_st. Where would I put this? In the io somehow?

Anyone have any ideas?