No data send on retrying StreamRequestRequest after connection issues

I am testing retry of StreamRequestRequest.
I have added a rxjava timeout in code similar to https://github.com/couchbase/couchbase-kafka-connector/blob/master/src/main/java/com/couchbase/kafka/CouchbaseReader.java, function run after second flatMap.
After a timeout I close the stream with StreamCloseRequest and send a StreamRequestRequest with startSeqNo as lastSeenSeqNo, same endSeqNo as before and proper snapshotSeqnos.
I get a stale partition error, Why is that ?
The rollback to seqNo in error is snapshotStartSequenceNumber, 0 in my case.
Does startSeqNo has to be same as snapshotStartSequenceNumber in StreamRequestRequest?
https://github.com/couchbase/couchbase-jvm-core/blob/master/src/main/java/com/couchbase/client/core/message/dcp/StreamRequestRequest.java mentions startSequenceNumber should be last seen seq no.

Then I retry with suggested startSequenceNumber, I get a successful StreamRequestResponse.
But no data is received. Why is that?

@zxcvmnb could you also record the vbucket uuid fields? do the match?

While retrying, I used vbucket uuid = 0 , which lead to stale partition error.
Now that is fixed but the retry still fails.
In babysitter.log, I can see messages like “(vb 995) stream created with start seqno 0 and end…”.
The next log is stream close log, when I close stream after timeout.