Description
Old docloader had special code to specify flags 0x02000006 (which is 0x02000000 (common flags JSON) OR-ed with 0x00000006 (legacy flags JSON))
https://github.com/couchbase/couchbase-cli/blob/master/pump_json.py#L45-L47
New docloader upserts items without specifying flags, and because value passed as BLOB, gocb library stores it as a string with corresponding flags, which isn't correct and forces all SDKs to deserialize content of sample buckets as a strings.
I suppose the docloader should either deserialize values into structs (with proper handling of long integers and floats), or use lower-level gocb APIs to upsert item with the flags.
Attachments
For Gerrit Dashboard: MB-21405 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
69091,2 | MB-21405: Ensure proper flags are set when importing documents | master | docloader | Status: MERGED | +2 | +1 |
69679,2 | MB-21405: Make sure to properly decode numbers when reading json | master | docloader | Status: MERGED | +2 | +1 |