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

[XDCR] Adv filtering some number functions not working as expected

    XMLWordPrintable

Details

    • Untriaged
    • Centos 64-bit
    • No

    Description

      According to the design doc, niql number functions are supported in adv filtering, but ASIN and ACOS functions are not working as expected.
      https://docs.google.com/document/d/19PkXWG8ovTS-E7l2Fqg_kRwsPTh_wHhjrrFBFPOWzQs/edit?pli=1#heading=h.jue93z4nyvp5

      However, ATAN() in adv filter matches niql results.

      doc:

      {
        "string_short": "x",
        "string_medium": ")nx.\n\tPfDEEptfV2o",
        "int": 93,
        "float": 16.770881608010846,
        "string_long": "KfdVIYXB4Hk@uA9ZrChdOGP\r^lEd/l lQaAEoqGTfznioxXTsxlDy\fkBWmIiAe\nRPqm6.-\\RK%ZE&WzSn)rvt_IJi",
        "string_vlong": "egof$\ryps<QmEaQhg",
        "bool": false
      }
      

      working filter (the doc matches this filter and is replicated to target):
      ATAN(int)<>3.05682983181e+307

      not working (doc matches filter but is NOT replicated to target):
      ASIN(int)<>3.05682983181e+307
      ACOS(int)<>3.05682983181e+307

      Following queries return 1 when the above doc is present in src:

      SELECT COUNT(*) FROM default WHERE 'ACOS(int)<>3.05682983181e+307'
      SELECT COUNT(*) FROM default WHERE 'ASIN(int)<>3.05682983181e+307' 
      

      Attachments

        Issue Links

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

          Activity

            pavithra.mahamani Pavithra Mahamani created issue -
            pavithra.mahamani Pavithra Mahamani made changes -
            Field Original Value New Value
            Description According to the design doc, niql number functions are supported in adv filtering, but ASIN and ACOS functions are not working as expected.
            https://docs.google.com/document/d/19PkXWG8ovTS-E7l2Fqg_kRwsPTh_wHhjrrFBFPOWzQs/edit?pli=1#heading=h.jue93z4nyvp5

            However, ATAN() in adv filter matches niql results.

            doc:
            {
              "string_short": "x",
              "string_medium": ")nx.\n\tPfDEEptfV2o",
              "int": 93,
              "float": 16.770881608010846,
              "string_long": "KfdVIYXB4Hk@uA9ZrChdOGP\r^lEd/l lQaAEoqGTfznioxXTsxlDy\fkBWmIiAe\nRPqm6.-\\RK%ZE&WzSn)rvt_IJi",
              "string_vlong": "egof$\ryps<QmEaQhg",
              "bool": false
            }

            working filter (the doc matches this filter and is replicated to target):
            ATAN(int)<>3.05682983181e+307

            not working (doc matches filter but is NOT replicated to target):
            ASIN(int)<>3.05682983181e+307
            ACOS(int)<>3.05682983181e+307

            Following queries return 1 when the above doc is present in src:
            {noformat}
            SELECT COUNT(*) FROM default WHERE 'ACOS(int)<>3.05682983181e+307'
            SELECT COUNT(*) FROM default WHERE 'ASIN(int)<>3.05682983181e+307'
            {noformat}
            According to the design doc, niql number functions are supported in adv filtering, but ASIN and ACOS functions are not working as expected.
            https://docs.google.com/document/d/19PkXWG8ovTS-E7l2Fqg_kRwsPTh_wHhjrrFBFPOWzQs/edit?pli=1#heading=h.jue93z4nyvp5

            However, ATAN() in adv filter matches niql results.

            doc:
            {noformat}
            {
              "string_short": "x",
              "string_medium": ")nx.\n\tPfDEEptfV2o",
              "int": 93,
              "float": 16.770881608010846,
              "string_long": "KfdVIYXB4Hk@uA9ZrChdOGP\r^lEd/l lQaAEoqGTfznioxXTsxlDy\fkBWmIiAe\nRPqm6.-\\RK%ZE&WzSn)rvt_IJi",
              "string_vlong": "egof$\ryps<QmEaQhg",
              "bool": false
            }
            {noformat}

            working filter (the doc matches this filter and is replicated to target):
            ATAN(int)<>3.05682983181e+307

            not working (doc matches filter but is NOT replicated to target):
            ASIN(int)<>3.05682983181e+307
            ACOS(int)<>3.05682983181e+307

            Following queries return 1 when the above doc is present in src:
            {noformat}
            SELECT COUNT(*) FROM default WHERE 'ACOS(int)<>3.05682983181e+307'
            SELECT COUNT(*) FROM default WHERE 'ASIN(int)<>3.05682983181e+307'
            {noformat}
            pavithra.mahamani Pavithra Mahamani made changes -
            neil.huang Neil Huang made changes -
            neil.huang Neil Huang made changes -
            pavithra.mahamani Pavithra Mahamani made changes -
            Labels releasenote
            pavithra.mahamani Pavithra Mahamani made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            lynn.straus Lynn Straus made changes -
            Labels releasenote approved-for-mad-hatter releasenote
            lynn.straus Lynn Straus made changes -
            Due Date 15/Nov/19
            neil.huang Neil Huang made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            neil.huang Neil Huang made changes -
            Is this a Regression? Unknown [ 10452 ] No [ 10451 ]
            neil.huang Neil Huang made changes -
            Labels approved-for-mad-hatter releasenote approved-for-mad-hatter documentation releasenote
            neil.huang Neil Huang made changes -
            Link This issue blocks MB-36851 [ MB-36851 ]
            neil.huang Neil Huang made changes -
            Link This issue blocks DOC-5993 [ DOC-5993 ]
            pavithra.mahamani Pavithra Mahamani made changes -
            VERIFICATION STEPS Verified this behavior on 6.5.0-4821:

            Any NaN (not-a-number) float values will be considered less than any other real number, and two NaNs will not yield equality. The only exception is the operators “<=” and “>=” would break this paradigm and return “true”. This is different from golang’s standards where NaNs are not equal when compared regardless of function. Applications using gojsonsm such as XDCR can check for collation.
            Status Resolved [ 5 ] Closed [ 6 ]

            People

              neil.huang Neil Huang
              pavithra.mahamani Pavithra Mahamani
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty