- Notifications
You must be signed in to change notification settings - Fork 110
Description
Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
-
Is this a client library issue or a product issue?
client lib -
Did someone already solve this?
existing feature that is broken -
Do you have a support contract?
no
Environment details
- OS: Alpine
- Node.js version: 21.7.1
- yarn: 1.22.19
@google-cloud/datastoreversion: 8.5.0
Steps to reproduce
in the code, when passing data with the name/value format rather than a normal object, this functionality seems to be completely skipped.
Simple save function with the excludeLargeProperties prop hard coded to true results in error that a field is too large. Given the prop is true, I'd expect it to ignore any large fields.
Feasible to include this functionality or do I avoid using the verbose data structure when saving?
await instance.save({ key, data: [ { name: 'field_a', value: 'value_a', }, { name: 'field_b', value: { nested_field: 'nested_value', // completely ignored }, } ], excludeLargeProperties: true, }) The above code with a suitably large field results in errors like this
Error saving data: 3 INVALID_ARGUMENT: The value of property "content" is longer than 1500 bytes. Error: 3 INVALID_ARGUMENT: The value of property "content" is longer than 1500 bytes. at callErrorFromStatus (/app/node_modules/@grpc/grpc-js/build/src/call.js:31:19) at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client.js:192:76) at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141) at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181) at /app/node_modules/@grpc/grpc-js/build/src/resolving-call.js:99:78 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) for call at at ServiceClientImpl.makeUnaryRequest (/app/node_modules/@grpc/grpc-js/build/src/client.js:160:32) at ServiceClientImpl.<anonymous> (/app/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19) at /app/node_modules/@google-cloud/datastore/build/src/v1/datastore_client.js:232:29 at /app/node_modules/google-gax/build/src/normalCalls/timeout.js:44:16 at OngoingCall.call (/app/node_modules/google-gax/build/src/call.js:67:27) at NormalApiCaller.call (/app/node_modules/google-gax/build/src/normalCalls/normalApiCaller.js:34:19) at /app/node_modules/google-gax/build/src/createApiCall.js:108:30 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)