snowflake-ingest-java icon indicating copy to clipboard operation
snowflake-ingest-java copied to clipboard

ingest.connection.RequestBuilder is overly restrictive on requestId parameters

Open nicholasdgoodman opened this issue 1 year ago • 0 comments

Background

According to the official file data ingestion API documentation is described as:

requestId: (required No) String used to track requests through the system. We recommend providing a random string with each request, e.g. a UUID.

This clearly indicates an insertFiles request should not have to supply a request ID, but also, that a UUID is only recommended but not required.

However, as written, there way to invoke RequestBuilder.generateInsertRequest(...) without providing an externally generated UUID.

Implementors should be allowed to provide any string value to this argument, or optionally not supply one at all.

Feature Request

Requesting any of the following:

  • additional overloads of RequestBuilder.generateInsertRequest(...) and RequestBuilder.generateHistoryRequest(...) which accept a requestId as a String parameter
  • permit null or "" values for requestId parameters on these methods, or provide additional method overloads without these arguments

or

  • Open up most or all private methods in class RequestBuilder to allow implementers extend this functionality themselves

nicholasdgoodman avatar Sep 30 '23 18:09 nicholasdgoodman