SNOW-1042432: Do not use com.amazonaws classes in core SF classes
Closed this issue · 5 comments
What is the current behavior?
I was giving a try to the snowflake-jdbc-thin jar and it works fine. Thanks for that. Although I wanted to exclude some unnecessary dependencies for my application like:
com.amazonaws
com.google.cloud
com.microsoft.azure
I could exclude all those except com.amazonaws:aws-java-sdk-core
because net.snowflake.client.core.HttpClientSettingsKey
references com.amazonaws.Protocol
and I got the exception java.lang.NoClassDefFoundError: com/amazonaws/Protocol
What is the desired behavior?
I would like my application to work even if I exclude all the above dependencies. I think this could be achieved by avoiding the use of com.amazonaws
in core classes like net.snowflake.client.core.HttpClientSettingsKey
How would this improve snowflake-jdbc
?
This would benefit users trying to create smaller apps, but also allow future modularization of snowflake-jdbc
library
Thank you @jtjeferreira for the PR. I left one comment there.
The PR is a step in the right direction, but it won't solve all the problems. We are still using the com.amazonaws.http.apache.SdkProxyRoutePlanner
in the core package
We are still using the
com.amazonaws.http.apache.SdkProxyRoutePlanner
in the core package
Should I make a copy of that class (keeping the copyright header)?
We should think about backward compatibility of our public classes - checkout my comments in PR
for SdkProxyRoutePlanner
it needs more tests and planning to make it optional - it could be done but I would not put it in this PR and issue
Thank you @jtjeferreira for the contribution, the change will be included in the next release of snowflake-jdbc
Thank you @jtjeferreira for the contribution, the change will be included in the next release of snowflake-jdbc
I tried 3.15.0 and it works like a charm... Thanks.