Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-48847

Synchronise CBAUTH_REVRPC_URL & service_api address for the query service.

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      In MB-40533 I discovered that whilst the CBAUTH_REVRPC_URL is set to http://.../cbq-engine* (which means the cbauth service registration looks for a service "cbq-engine-service_api") , ns_server is listening to/for ".../n1ql-service_api".

      The original approach we took to contain things was to augment the cbauth API with a function that wasn't reliant on the environment variable (thus permitting us to make the change) but cbauth don't want this, so we need the provided URL or the service listener address to change.

      I've tested changing tls_config (src/menelaus_cbauth.erl) and goport_defs (src/ns_ports_setup.erl; setting 'rpc' to 'n1ql') and it seems to work but I suspect there would be upgrade implications.

      Another approach tried was to add a special case in conn_label (src/service_agent.erl) to generate "cbq-engine-service_api" for the n1ql service. As it is only the new feature that is using this service, the thought is that this best contains any side-effects. (However doing this seems to break everything.)

      Nevertheless the requirement remains - provide a consistent CBAUTH_REVRPC_URL value & service_api listener address - so that we can call cbauth.RegisterManager() and have it connect with the set CBAUTH_REVRPC_URL value.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            Donald.haggart Donald Haggart created issue -
            Donald.haggart Donald Haggart made changes -
            Field Original Value New Value
            Description In MB-40533 I discovered that whilst the CBAUTH_REVRPC_URL is set to *http://.../cbq-engine* (which means the cbauth service registration looks for a service "cbq-engine-service_api") , ns_server is listening to/for "*n1ql*-service_api".

            The original approach we took to contain things was to augment the cbauth API with a function that wasn't reliant on the environment variable (thus permitting us to make the change) but cbauth don't want this, so we need the provided URL or the service listener address to change.

            I've tested changing tls_config (src/menelaus_cbauth.erl) and goport_defs (src/ns_ports_setup.erl; setting 'rpc' to 'n1ql') and it seems to work but I suspect there would be upgrade implementation.

            Another approach tried was to add a special case in conn_label (src/service_agent.erl) to generate "cbq-engine-service_api" for the n1ql service. As it is only the new feature that is using this service, the thought is that this best contains any side-effects. (However doing this seems to break everything.)

            Nevertheless the requirement remains - provide a consistent CBAUTH_REVRPC_URL value & service_api listener address - so that we can call cbauth.RegisterManager() and have it connect with the set CBAUTH_REVRPC_URL value.
            In MB-40533 I discovered that whilst the CBAUTH_REVRPC_URL is set to *[http://.../cbq-engine*]* _(which means the cbauth service registration looks for a service "cbq-engine-service_api")_ *,* ns_server is listening to/for ".../*n1ql*-service_api".

            The original approach we took to contain things was to augment the cbauth API with a function that wasn't reliant on the environment variable (thus permitting us to make the change) but cbauth don't want this, so we need the provided URL or the service listener address to change.

            I've tested changing tls_config (src/menelaus_cbauth.erl) and goport_defs (src/ns_ports_setup.erl; setting 'rpc' to 'n1ql') and it seems to work but I suspect there would be upgrade implementation.

            Another approach tried was to add a special case in conn_label (src/service_agent.erl) to generate "cbq-engine-service_api" for the n1ql service. As it is only the new feature that is using this service, the thought is that this best contains any side-effects. (However doing this seems to break everything.)

            Nevertheless the requirement remains - provide a consistent CBAUTH_REVRPC_URL value & service_api listener address - so that we can call cbauth.RegisterManager() and have it connect with the set CBAUTH_REVRPC_URL value.
            Donald.haggart Donald Haggart made changes -
            Description In MB-40533 I discovered that whilst the CBAUTH_REVRPC_URL is set to *[http://.../cbq-engine*]* _(which means the cbauth service registration looks for a service "cbq-engine-service_api")_ *,* ns_server is listening to/for ".../*n1ql*-service_api".

            The original approach we took to contain things was to augment the cbauth API with a function that wasn't reliant on the environment variable (thus permitting us to make the change) but cbauth don't want this, so we need the provided URL or the service listener address to change.

            I've tested changing tls_config (src/menelaus_cbauth.erl) and goport_defs (src/ns_ports_setup.erl; setting 'rpc' to 'n1ql') and it seems to work but I suspect there would be upgrade implementation.

            Another approach tried was to add a special case in conn_label (src/service_agent.erl) to generate "cbq-engine-service_api" for the n1ql service. As it is only the new feature that is using this service, the thought is that this best contains any side-effects. (However doing this seems to break everything.)

            Nevertheless the requirement remains - provide a consistent CBAUTH_REVRPC_URL value & service_api listener address - so that we can call cbauth.RegisterManager() and have it connect with the set CBAUTH_REVRPC_URL value.
            In MB-40533 I discovered that whilst the CBAUTH_REVRPC_URL is set to *[http://.../cbq-engine*]* _(which means the cbauth service registration looks for a service "cbq-engine-service_api")_ *,* ns_server is listening to/for ".../*n1ql*-service_api".

            The original approach we took to contain things was to augment the cbauth API with a function that wasn't reliant on the environment variable (thus permitting us to make the change) but cbauth don't want this, so we need the provided URL or the service listener address to change.

            I've tested changing tls_config (src/menelaus_cbauth.erl) and goport_defs (src/ns_ports_setup.erl; setting 'rpc' to 'n1ql') and it seems to work but I suspect there would be upgrade implications.

            Another approach tried was to add a special case in conn_label (src/service_agent.erl) to generate "cbq-engine-service_api" for the n1ql service. As it is only the new feature that is using this service, the thought is that this best contains any side-effects. (However doing this seems to break everything.)

            Nevertheless the requirement remains - provide a consistent CBAUTH_REVRPC_URL value & service_api listener address - so that we can call cbauth.RegisterManager() and have it connect with the set CBAUTH_REVRPC_URL value.
            meni.hillel Meni Hillel (Inactive) made changes -
            Affects Version/s Neo [ 17615 ]
            meni.hillel Meni Hillel (Inactive) made changes -
            Fix Version/s Neo [ 17615 ]
            meni.hillel Meni Hillel (Inactive) made changes -
            Assignee Meni Hillel [ JIRAUSER25407 ] Artem Stemkovski [ artem ]
            Donald.haggart Donald Haggart made changes -
            Link This issue blocks MB-40533 [ MB-40533 ]
            artem Artem Stemkovski made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            Balakumaran.Gopal Balakumaran Gopal made changes -
            Labels ns_server ns_server request-dev-verify
            dfinlay Dave Finlay made changes -
            Status Resolved [ 5 ] Closed [ 6 ]

            People

              artem Artem Stemkovski
              Donald.haggart Donald Haggart
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty