Jdpurohit / bigquery

0 stars 0 forks source link

Feedback 1 #1

Open jdrucey opened 5 months ago

jdrucey commented 5 months ago

Hey Jaydeep,

Will leave feedback here as I test this:

when passing in a single object (not an array of objects) i get the following error (both single object and object array should be accepted): Error unmarshalling JSON: json: cannot unmarshal object into Go value of type []map[string]interface {}

Error for general log: Error saving general logs: rpc error: code = InvalidArgument desc = The proto field mismatched with BigQuery field at LogsTable.config_id, the proto field type string, BigQuery field type INTEGER Entity: projects/ci-infrastructure/datasets/cipt/tables/logtest/streams/_default

A log request will often pass in a single log type, but when doing so it throws errors for all the types that are not included: 2024/03/23 20:31:31 Error saving fallback creative logs: rpc error: code = InvalidArgument desc = Rows must be specified. Entity: projects/ci-infrastructure/datasets/cipt/tables/logs_fc/streams/_default 2024/03/23 20:31:31 Error saving header bidding logs: rpc error: code = InvalidArgument desc = Rows must be specified. Entity: projects/ci-infrastructure/datasets/cipt/tables/logs_hb/streams/_default 2024/03/23 20:31:32 Error saving bid data logs: rpc error: code = InvalidArgument desc = Rows must be specified. Entity: projects/ci-infrastructure/datasets/cipt/tables/bid_data/streams/_default

When posting hb log entry, I get: http: panic serving [::1]:56890: interface conversion: interface {} is string, not int64 example data:

[
    {
        "ty": "bd",
        "cs": "980x90",
        "cur": "GBP",
        "iid": "647",
        "ptn": "criteo",
        "rev": 0.00007011050000000001,
        "s2s": false,
        "cid": 980,
        "dv": "desktop",
        "ev": "hb",
        "uid": "17016"
    }
]

( for what its worth, any numeric field could come through as a string, like UID and IID in this example)

Doesnt seems like the app engine header "X_APPENGINE_COUNTRY" is getting used to populate the geo field. This will be set automatically in production, and can default to "unknown" when run locally

Jdpurohit commented 5 months ago

Hi @jdrucey I have addressed all the above issues.