Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNOW-1483230 Parameter support & disable blob encryption for new table format #801

Merged
merged 9 commits into from
Aug 10, 2024

Conversation

sfc-gh-alhuang
Copy link
Contributor

@sfc-gh-alhuang sfc-gh-alhuang commented Jul 26, 2024

Split parameter maxChunksInBlobAndRegistrationRequest into maxChunksInBlobs and maxChunksInRegistrationRequest
Merging change of #763 and #773 into main branch.

@sfc-gh-alhuang sfc-gh-alhuang changed the title Parameter support & disable blob encryption for new table format SNOW-1483230 Parameter support & disable blob encryption for new table format Jul 26, 2024
@sfc-gh-alhuang sfc-gh-alhuang marked this pull request as ready for review July 26, 2024 22:04
@sfc-gh-alhuang sfc-gh-alhuang requested review from sfc-gh-tzhang and a team as code owners July 26, 2024 22:04
@@ -31,8 +37,9 @@ public class ParameterProvider {
public static final String MAX_CHUNK_SIZE_IN_BYTES = "MAX_CHUNK_SIZE_IN_BYTES".toLowerCase();
public static final String MAX_ALLOWED_ROW_SIZE_IN_BYTES =
"MAX_ALLOWED_ROW_SIZE_IN_BYTES".toLowerCase();
public static final String MAX_CHUNKS_IN_BLOB_AND_REGISTRATION_REQUEST =
"MAX_CHUNKS_IN_BLOB_AND_REGISTRATION_REQUEST".toLowerCase();
public static final String MAX_CHUNKS_IN_BLOB = "MAX_CHUNKS_IN_BLOB".toLowerCase();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we know no customer was overriding the old setting ? Any changes to these settings is by default a back compat breaking change that needs to be handled with extra care.
Note that these settings are also public, see here: https://javadoc.io/doc/net.snowflake/snowflake-ingest-sdk/latest/net/snowflake/ingest/utils/ParameterProvider.html

cc @sfc-gh-tzhang

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't know, I don't think they need to be back compat (at least for this one) since we're not documenting them, and I'm not aware of anyone who is overriding this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Lets remove the public access modifier from settings that we do not want customers to be exposed to?
Alec could you please run this by Xin before committing it in?
Do we have telemetry to figure out if any client in the past 6 months has had non-default values set for these parameters?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets remove the public access modifier from settings that we do not want customers to be exposed to?

I think we still want to keep it as publicly accessible, I believe it was added for some incident mitigation, but these overrides are never meant to be used long term. + @sfc-gh-lsembera to confirm

Do we have telemetry to figure out if any client in the past 6 months has had non-default values set for these parameters?

I don't think we collect this at server side unfortunately.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This parameter was introduced to fix timeouts when customers ingest into thousands of tables concurrently.

We cannot know if anybody changed the parameter locally, but I am not aware of recommending to change this parameter to any customer.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, then I think it's fine to not support backward compatible as these are not publicly documented parameters, customer should not use parameters without our recommendation.

@@ -31,8 +37,9 @@ public class ParameterProvider {
public static final String MAX_CHUNK_SIZE_IN_BYTES = "MAX_CHUNK_SIZE_IN_BYTES".toLowerCase();
public static final String MAX_ALLOWED_ROW_SIZE_IN_BYTES =
"MAX_ALLOWED_ROW_SIZE_IN_BYTES".toLowerCase();
public static final String MAX_CHUNKS_IN_BLOB_AND_REGISTRATION_REQUEST =
"MAX_CHUNKS_IN_BLOB_AND_REGISTRATION_REQUEST".toLowerCase();
public static final String MAX_CHUNKS_IN_BLOB = "MAX_CHUNKS_IN_BLOB".toLowerCase();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, then I think it's fine to not support backward compatible as these are not publicly documented parameters, customer should not use parameters without our recommendation.

Copy link
Contributor

@sfc-gh-tzhang sfc-gh-tzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@sfc-gh-alhuang sfc-gh-alhuang merged commit b4b84b8 into master Aug 10, 2024
45 checks passed
@sfc-gh-alhuang sfc-gh-alhuang deleted the alhuang-new-table-format branch August 10, 2024 00:15
@sfc-gh-alhuang sfc-gh-alhuang restored the alhuang-new-table-format branch August 10, 2024 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants