Subscriptions acting weird after v50 upgrade

Hey!

In our organization, we had couple of subscriptions that would stream info into our slack channel on a schedule. However, after Metabase v50 upgrade everything stopped working. One of the subscription started even pushing updates into totally different channel... :thinking:
We also tried to re-create subscriptions but still experiencing the same issue. Please assist with the solution.
Thank you.

1 Like

can you check sending the subscription manually and check the logs?

Yes, the logs show this error message:

Error sending notification!,java.net.SocketException: Connection reset, at java.base/java.net.SocketInputStream.read(Unknown Source), at java.base/java.net.SocketInputStream.read(Unknown Source), at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source),

Same thing happens here since migrating from 0.49 to 0.50. We have the vast majority of our subscriptions that are no longer being sent to Slack. We no longer capture them in their respective Slack channel or in the #metabase_files where everything is supposed to be captured. We appear to have intermittent subscription being sent through, but for 95% of them, they don't get to Slack. Email subscriptions work perfectly fine. The error message appears to be around the fact that the connection was dropped or timed out after a bit of time. This is the full error message I'm seeing.

ERROR metabase.pulse Error sending notification!,java.net.SocketException: Connection reset, at java.base/java.net.SocketInputStream.read(Unknown Source), at java.base/java.net.SocketInputStream.read(Unknown Source), at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source), at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source), at java.base/sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source), at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source), at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source), at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source), at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source), at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source), at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436), at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384), at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142), at org.apache.http.impl.conn.BasicHttpClientConnectionManager.connect(BasicHttpClientConnectionManager.java:313), at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393), at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236), at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186), at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89), at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110), at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185), at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83), at clj_http.core$request.invokeStatic(core.clj:621), at clj_http.core$request.invoke(core.clj:546), at clj_http.core$request.invokeStatic(core.clj:547), at clj_http.core$request.invoke(core.clj:546), at clojure.lang.Var.invoke(Var.java:384), at clj_http.client$wrap_request_timing$fn__41317.invoke(client.clj:1083), at clj_http.headers$wrap_header_map$fn__40284.invoke(headers.clj:152), at clj_http.client$wrap_query_params$fn__41207.invoke(client.clj:817), at clj_http.client$wrap_basic_auth$fn__41213.invoke(client.clj:840), at clj_http.client$wrap_oauth$fn__41218.invoke(client.clj:857), at clj_http.client$wrap_user_info$fn__41227.invoke(client.clj:877), at clj_http.client$wrap_url$fn__41299.invoke(client.clj:1035), at clj_http.client$wrap_decompression$fn__40994.invoke(client.clj:416), at clj_http.client$wrap_input_coercion$fn__41119.invoke(client.clj:630), at clj_http.client$wrap_additional_header_parsing$fn__41144.invoke(client.clj:685), at clj_http.client$wrap_output_coercion$fn__41106.invoke(client.clj:574), at clj_http.client$wrap_exceptions$fn__40947.invoke(client.clj:250), at clj_http.client$wrap_accept$fn__41159.invoke(client.clj:728), at clj_http.client$wrap_accept_encoding$fn__41166.invoke(client.clj:750), at clj_http.client$wrap_content_type$fn__41153.invoke(client.clj:711), at clj_http.client$wrap_form_params$fn__41264.invoke(client.clj:959), at clj_http.client$wrap_nested_params$fn__41285.invoke(client.clj:993), at clj_http.client$wrap_flatten_nested_params$fn__41294.invoke(client.clj:1017), at clj_http.client$wrap_method$fn__41232.invoke(client.clj:893), at clj_http.cookies$wrap_cookies$fn__40196.invoke(cookies.clj:128), at clj_http.links$wrap_links$fn__40624.invoke(links.clj:63), at clj_http.client$wrap_unknown_host$fn__41302.invoke(client.clj:1046), at clj_http.client$request_STAR_.invokeStatic(client.clj:1174), at clj_http.client$request_STAR_.invoke(client.clj:1167), at clj_http.client$post.invokeStatic(client.clj:1192), at clj_http.client$post.doInvoke(client.clj:1188), at clojure.lang.RestFn.invoke(RestFn.java:423), at metabase.integrations.slack$upload_file_to_url_BANG_.invokeStatic(slack.clj:375), at metabase.integrations.slack$upload_file_to_url_BANG_.invoke(slack.clj:374), at metabase.integrations.slack$upload_file_BANG_.invokeStatic(slack.clj:392), at metabase.integrations.slack$upload_file_BANG_.invoke(slack.clj:380), at metabase.pulse$create_and_upload_slack_attachments_BANG_$fn__99705.invoke(pulse.clj:324), at clojure.core.protocols$fn__8249.invokeStatic(protocols.clj:168), at clojure.core.protocols$fn__8249.invoke(protocols.clj:124), at clojure.core.protocols$fn__8204$G__8199__8213.invoke(protocols.clj:19), at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31), at clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75), at clojure.core.protocols$fn__8236.invoke(protocols.clj:75), at clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13), at clojure.core$reduce.invokeStatic(core.clj:6887), at clojure.core$reduce.invoke(core.clj:6869), at metabase.pulse$create_and_upload_slack_attachments_BANG_.invokeStatic(pulse.clj:317), at metabase.pulse$create_and_upload_slack_attachments_BANG_.invoke(pulse.clj:308), at metabase.pulse$create_and_upload_slack_attachments_BANG_.invokeStatic(pulse.clj:314), at metabase.pulse$create_and_upload_slack_attachments_BANG_.invoke(pulse.clj:308), at metabase.pulse$fn__99865.invokeStatic(pulse.clj:513), at metabase.pulse$fn__99865.invoke(pulse.clj:511), at clojure.lang.MultiFn.invoke(MultiFn.java:229), at clojure.lang.AFn.applyToHelper(AFn.java:154), at clojure.lang.AFn.applyTo(AFn.java:144), at clojure.core$apply.invokeStatic(core.clj:667), at clojure.core$apply.invoke(core.clj:662), at metabase.util.retry$decorate$fn$reify__73939.call(retry.clj:77), at io.github.resilience4j.retry.Retry.lambda$decorateCallable$5(Retry.java:306), at metabase.util.retry$decorate$fn__73938.doInvoke(retry.clj:78), at clojure.lang.RestFn.applyTo(RestFn.java:137), at clojure.core$apply.invokeStatic(core.clj:667), at clojure.core$apply.invoke(core.clj:662), at metabase.pulse$send_notification_retrying_BANG_.invokeStatic(pulse.clj:533), at metabase.pulse$send_notification_retrying_BANG_.doInvoke(pulse.clj:530), at clojure.lang.RestFn.invoke(RestFn.java:408), at metabase.pulse$send_notifications_BANG_$fn__99883.invoke(pulse.clj:540), at metabase.pulse$send_notifications_BANG_.invokeStatic(pulse.clj:539), at metabase.pulse$send_notifications_BANG_.invoke(pulse.clj:535), at metabase.pulse$send_pulse_BANG_.invokeStatic(pulse.clj:564), at metabase.pulse$send_pulse_BANG_.doInvoke(pulse.clj:544), at clojure.lang.RestFn.invoke(RestFn.java:439), at metabase.task.send_pulses$send_pulse_BANG_$fn__104895.invoke(send_pulses.clj:57), at metabase.models.task_history$do_with_task_history.invokeStatic(task_history.clj:115), at metabase.models.task_history$do_with_task_history.invoke(task_history.clj:104), at metabase.task.send_pulses$send_pulse_BANG_.invokeStatic(send_pulses.clj:52), at metabase.task.send_pulses$send_pulse_BANG_.invoke(send_pulses.clj:49), at metabase.task.send_pulses$send_pulse_BANG__STAR_.invokeStatic(send_pulses.clj:125), at metabase.task.send_pulses$send_pulse_BANG__STAR_.invoke(send_pulses.clj:116), at metabase.task.send_pulses.SendPulse.execute(send_pulses.clj:147), at org.quartz.core.JobRunShell.run(JobRunShell.java:202), at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)