in core/src/main/scala/org/apache/pekko/persistence/jdbc/journal/JdbcAsyncWriteJournal.scala [108:120]
override def asyncDeleteMessagesTo(persistenceId: String, toSequenceNr: Long): Future[Unit] =
journalDao.delete(persistenceId, toSequenceNr)
override def asyncReadHighestSequenceNr(persistenceId: String, fromSequenceNr: Long): Future[Long] = {
def fetchHighestSeqNr() = journalDao.highestSequenceNr(persistenceId, fromSequenceNr)
writeInProgress.get(persistenceId) match {
case null => fetchHighestSeqNr()
case f =>
// we must fetch the highest sequence number after the previous write has completed
// If the previous write failed then we can ignore this
f.recover { case _ => () }.flatMap(_ => fetchHighestSeqNr())
}
}