You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you create a SnowflakeStreamingIngestClient and then a channel and start sending data, then "pull the chord" or kill your internet and then try and clean up, the SnowflakeStreamingIngestClient.close() call hangs.
// Close all channels
if (this.outputChannels != null) {
for (var channel : this.outputChannels.entrySet()) {
try {
channel.getValue().close();
} catch (Exception ignored) {
}
}
this.outputChannels.clear();
}
// Close the client
if (this.streamClient != null) {
try {
if (!this.streamClient.isClosed()) {
// This appears to hang indefinitely. As soon as I recover internet it works
this.streamClient.close();
|
} catch (Exception ignored) {
}
this.streamClient = null;
}
The text was updated successfully, but these errors were encountered:
For a little more background, we're on a local network pushing to Snowflake. In the case of an error (cable pull or other) we generally disconnect and tear down all resources and reconnect to start a "fresh" connection.
I think the bug is in SnowflakeStreamingIngestClientInternal.close(). It calls this.flush(true).get() which appears to never return? It seems like this should be this.flush(true).get(10, TimeUnit.SECONDS); or something with a reasonable wait time?
If you create a SnowflakeStreamingIngestClient and then a channel and start sending data, then "pull the chord" or kill your internet and then try and clean up, the SnowflakeStreamingIngestClient.close() call hangs.
The text was updated successfully, but these errors were encountered: