-
Notifications
You must be signed in to change notification settings - Fork 98
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-1055561: Check whether SMT returning null values no longer stops a data ingestion. #816
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, use a real SnowflakeSinkConnector
with a fake streamingClientHandler in tests.
Blocking until then.
src/test/java/com/snowflake/kafka/connector/ConnectClusterBaseIT.java
Outdated
Show resolved
Hide resolved
c020f88
to
837d406
Compare
837d406
to
41bf7a4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice progress!
Added a few comments to make the things even neater.
src/main/java/com/snowflake/kafka/connector/internal/streaming/StreamingClientProvider.java
Outdated
Show resolved
Hide resolved
src/main/java/com/snowflake/kafka/connector/internal/streaming/StreamingClientProvider.java
Outdated
Show resolved
Hide resolved
src/main/java/com/snowflake/kafka/connector/internal/streaming/StreamingClientProvider.java
Show resolved
Hide resolved
src/test/java/com/snowflake/kafka/connector/ConnectClusterBaseIT.java
Outdated
Show resolved
Hide resolved
src/test/java/com/snowflake/kafka/connector/ProduceConsumeMessageIT.java
Outdated
Show resolved
Hide resolved
import org.junit.jupiter.api.BeforeAll; | ||
import org.junit.jupiter.api.Test; | ||
|
||
public class SmtIT extends ConnectClusterBaseIT { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we setup logging levels for this test? We are flooded with TRACE right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have any particular solution in mind?
44bbea5
to
6361be2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks! lgtm, lets get the IT passing
src/main/java/com/snowflake/kafka/connector/internal/streaming/StreamingClientProvider.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job!
As discussed offline, in the future we can consider injecting FakeStreamingClientHandler
as a dependency that will allow us to isolate connectors and parallelize test execution.
connectCluster.kafka().deleteTopic(smtTopic); | ||
connectCluster.deleteConnector(smtConnector); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: we can create a topic and generate a connector name as well as clean them up in @BeforeEach/@AfterEach.
241f773
to
6f5dbc4
Compare
While you're testing SMT, can you also take a look at this PR: #711 and merge as needed? |
6f5dbc4
to
2c5a6aa
Compare
… a data ingestion. (snowflakedb#816)
… a data ingestion. (snowflakedb#816)
* SNOW-922795 Added third-party-licenses to .zip distribution (snowflakedb#784) * PROD-39429 Add PR template (snowflakedb#786) * Run subset of e2e tests (snowflakedb#788) * SNOW-979849: Add offset verification logic (snowflakedb#795) SNOW-979849 Add offset verification logic as part of channel open. We're verifying that the current start offset = previous end offset +1, if not true, then it potentially means missing or duplicate data. Note that there are some false positives that we can't avoid like when SMT is used, but this is good enough to do blast radius analysis for any corruption issue. * SNOW-1117446 Snowpipe Streaming client provider map (snowflakedb#794) * NO-SNOW: upgrade JDBC to 3.14.5 (snowflakedb#799) NO-SNOW upgrade JDBC to 3.14.5 * SNOW-1049869 Cleanup streaming ingest threads when SinkTask stop() is called (snowflakedb#800) * [NO-SNOW] Upgrade dependency versions (snowflakedb#802) * Upgrade connect-api to 3.7.0 (snowflakedb#803) * SNOW-1057151: Add poc test setup for EmbeddedConnectCluster (snowflakedb#801) * SNOW-1049869 Rewrite client optimization unit tests (snowflakedb#804) * Release v2.2.1 (snowflakedb#805) * SNOW-1055524 E2E test with nullable SMT (snowflakedb#808) * SNOW-1057165 - Test-doubles for snowflake-ingest-java (snowflakedb#809) * SNOW-1055524 E2E SMT without schema evolution (snowflakedb#811) * SNOW-1055524 Check table schema in e2e smt (snowflakedb#813) * SNOW-1019628 update file cleaner for snowpipe ingest (snowflakedb#807) * SNOW-1055524 E2E SMT for a Snowpipe based connector (snowflakedb#812) * NO-SNOW Remove performance tests (snowflakedb#817) * SNOW-1055561: Check whether SMT returning null values no longer stops a data ingestion. (snowflakedb#816) * Update to release 2.2.2 (snowflakedb#819) --------- Co-authored-by: Michał Bobowski <[email protected]> Co-authored-by: Jay Patel <[email protected]> Co-authored-by: Toby Zhang <[email protected]> Co-authored-by: Xin Huang <[email protected]> Co-authored-by: Wojciech Trefon <[email protected]> Co-authored-by: revi cheng <[email protected]> Co-authored-by: Lex Shcharbaty <[email protected]> Co-authored-by: Artur Chyży <[email protected]> Co-authored-by: Greg Jachimko <[email protected]> Co-authored-by: Adrian Kowalczyk <[email protected]>
… a data ingestion. (snowflakedb#816)
Overview
SNOW-1055561
The scenario being tested is:
null
in that case).Pre-review checklist
snowflake.ingestion.method
.Yes
- Added end to end and Unit Tests.No
- Suggest why it is not param protected