Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
6.5.0
-
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
Activity
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} |
Attachment | Screen Shot 2019-09-19 at 2.19.22 PM.png [ 74415 ] |
Attachment | Screen Shot 2019-09-20 at 10.18.14 AM.png [ 74469 ] |
Attachment | Screen Shot 2019-09-20 at 10.19.04 AM.png [ 74470 ] |
Labels | releasenote |
Priority | Major [ 3 ] | Critical [ 2 ] |
Labels | releasenote | approved-for-mad-hatter releasenote |
Due Date | 15/Nov/19 |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Resolved [ 5 ] |
Is this a Regression? | Unknown [ 10452 ] | No [ 10451 ] |
Labels | approved-for-mad-hatter releasenote | approved-for-mad-hatter documentation releasenote |
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 ] |
Just observed that when int = 0 or 1, docs are getting replicated to target. So the problem occurs only when int>1.
https://s3.amazonaws.com/cb-engineering/Pavithra/collectinfo-2019-09-20T165550-ns_1%40172.23.105.133.zip
https://s3.amazonaws.com/cb-engineering/Pavithra/collectinfo-2019-09-20T165550-ns_1%40172.23.106.121.zip