Product: Couchbase Server Components: Analytics-Service, Query-Service Issue Link: MB-67849 Affects Versions: 7.2, 7.6 Fix Versions: 7.2.8, 7.6.8
Summary
When querying numbers greater than 2^63 or less than -2^63, incorrect values may be returned.
For example, if the following document exists in the bucket:
Key: "document1"
{
"v": 23456789012345678901
}
The following query returns an incorrect result:
SELECT d.* from default AS d USE KEYS "document1";
The query output shows a different value for v:
{
"v": 5010044938636127285
}
Symptoms
- Incorrect query results.
- Large numeric values wrongly represented.
Triggers
- Querying a document that contains a numeric value greater than 2^63 or less than -2^63.
- This issue occurs due to improper handling of integer overflow conditions in the go_json library.
- When a document contains numeric values greater than 2^63 or less than -2^63, querying such documents using the Query or Analytics Service may produce incorrect results.
Verification
- To verify if this issue has been encountered, review whether documents touched by the affected query contain numeric values outside the 2^63 to -2^63 range.
- If the query response returns incorrect or unexpected numeric values, the issue described here is likely the cause.
Workarounds
- There are currently no available workarounds for this issue.
- An upgrade to a version that contains the fix will be required.
Comments
0 comments
Article is closed for comments.