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
| [0002](adr-0002-use-replay-expiration-millis-0-in-while-subscribed.md) | Use replayExpirationMillis = 0 in WhileSubscribed | Sat May 16 22:34:19 EDT 2026 | accepted | network, grpc, coroutines, flow, reactive-streams |
56
-
| [0003](adr-0003-sequence-number-filtering-for-stale-replayed-data.md) | Sequence Number Filtering for Stale Replayed Data | Sun May 17 00:02:50 EDT 2026 | accepted | network, grpc, coroutines, flow, multiplexing |
| [0002](adr-0002-use-replay-expiration-millis-0-in-while-subscribed.md) | Use replayExpirationMillis = 0 in WhileSubscribed | Sat May 16 22:34:19 EDT 2026 | superseded | network, grpc, coroutines, flow, reactive-streams |
75
+
| [0003](adr-0003-sequence-number-filtering-for-stale-replayed-data.md) | Sequence Number Filtering for Stale Replayed Data | Sun May 17 00:02:50 EDT 2026 | superseded | network, grpc, coroutines, flow, multiplexing |
76
+
| [0004](adr-0004-coordinate-multiplexed-subscriptions-using-conflatedsignal-and-replay-0.md) | Coordinate Multiplexed Subscriptions using ConflatedSignal and Replay=0 | Tue May 19 15:58:34 EDT 2026 | accepted | network, grpc, coroutines, flow, multiplexing |
77
+
| [0005](adr-0005-configure-flow-control-and-conflation-for-realtime-queries.md) | Configure Flow Control and Conflation for Realtime Queries | Tue May 19 17:28:33 EDT 2026 | accepted | network, grpc, coroutines, flow, backpressure, performance |
57
78
58
79
*(Add new records to this table in chronological order. Refer to the status lifecycle: `proposed` ->`accepted` ->`superseded`/`deprecated`)*
Copy file name to clipboardExpand all lines: firebase-dataconnect/docs/adr-0002-use-replay-expiration-millis-0-in-while-subscribed.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,3 +78,25 @@ This design guarantees that the subscription request is sent exactly once, safel
78
78
* **Negative/Risks:**
79
79
* If a subscriber disconnects and immediately reconnects within less than a millisecond, they might not get the replay cache, but since they want a fresh reconnection anyway when the stream is closed, this is the desirable behavior.
80
80
81
+
---
82
+
83
+
## Amendment (May 19, 2026)
84
+
85
+
### Status: Superseded
86
+
87
+
The design described in this ADR has been **superseded** by the architecture documented in
@@ -84,3 +84,27 @@ A potential client-side mitigation that builds upon the sequence number approach
84
84
* **Negative/Risks:**
85
85
* A late subscriber that starts collecting *exactly* in the small window between another subscriber's request and its response will still receive that in-flight response. This is mitigated by the fact that the data is still technically the "latest" data, but in unit tests asserting strict deterministic sequence of distinct datasets, this causes test failures.
86
86
87
+
---
88
+
89
+
## Amendment (May 19, 2026)
90
+
91
+
### Status: Obsolete (Implementation Retired)
92
+
93
+
This ADR is now **obsolete** and has been retired. The sequence number filtering mechanism was
94
+
completely **removed** from `DataConnectBidiConnectStream.kt` as an implementation detail.
95
+
96
+
**Why it was removed:**
97
+
We refactored the stream sharing policy from `replay = 1` to `replay = 0` (as documented in
0 commit comments