The Firestore snapshot listener is not reliable. The Firestore connection will not recover not recover on multiple WiFi access point handovers.
How to reproduce? Try this scenario:
Connect your device to WiFi SSID_A
Start a Firestore snapshot listener
Start walking until you are out of range of WiFi SSID_A
The Firestore snapshot listener will lose its connection
Keep on walking until you are in range of WiFi SSID_B
Your device will connected to WiFi SSID_B
The Firestore snapshot listener should recover but the Firestore recovery proces is not reliable!
After repeating this scenario 10 times the Firestore connection recovers only 9 times.
Logging:
W Firestore: (23.0.0) [s0]: (28b1652) Stream closed with status: c1{code=UNAVAILABLE, description=Channel shutdownNow invoked, cause=null}.
10-07 17:07:54.493 23279 10618 W Firestore: (23.0.0) [WatchStream]: (5ed9157) Stream closed with status: Status{code=UNAVAILABLE, description=null, cause=javax.net.ssl.SSLException: Write error: ssl=0xb400007112705cc8: I/O error during system call, Broken pipe
10-07 17:07:54.493 23279 10618 W Firestore: at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_write(Native Method) 10-07
17:07:54.493 23279 10618 W Firestore: at com.google.android.gms.org.conscrypt.NativeSsl.write(:com.google.android.gms@213614046@21.36.14 (150400-395708125):3)
10-07 17:07:54.493 23279 10618 W Firestore: at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(:com.google.android.gms@213614046@21.36.14 (150400-395708125):5)
10-07 17:07:54.493 23279 10618 W Firestore: at okio.Okio$1.write(Okio.java:79)
10-07 17:07:54.493 23279 10618 W Firestore: at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
10-07 17:07:54.493 23279 10618 W Firestore: at io.grpc.okhttp.AsyncSink$2.doRun(AsyncSink.java:140)
10-07 17:07:54.493 23279 10618 W Firestore: at io.grpc.okhttp.AsyncSink$WriteRunnable.run(AsyncSink.java:192)
10-07 17:07:54.493 23279 10618 W Firestore: at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
10-07 17:07:54.493 23279 10618 W Firestore: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-07 17:07:54.493 23279 10618 W Firestore: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-07 17:07:54.493 23279 10618 W Firestore: at java.lang.Thread.run(Thread.java:923) 10-07 17:07:54.493 23279 10618 W Firestore: }.
--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/6686da48-dda1-41f7-8d66-d9ce70fd9bd6n%40googlegroups.com.