in src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournal.scala [147:161]
override def asyncDeleteMessagesTo(persistenceId: String, toSequenceNr: Long): Future[Unit] =
logFailure(s"delete($persistenceId, upto=$toSequenceNr)") {
log.debug("delete-messages persistenceId={} to={}", persistenceId, toSequenceNr)
val lowF = readSequenceNr(persistenceId, highest = false)
val highF = readSequenceNr(persistenceId, highest = true)
for {
lowest <- lowF
highest <- highF
upTo = Math.min(toSequenceNr, highest)
_ <- if (upTo + 1 > lowest) setLS(persistenceId, to = upTo + 1) else Future.successful(Done)
_ <- if (lowest <= upTo) deleteMessages(persistenceId, lowest, upTo) else Future.successful(Done)
} yield {
log.debug("finished asyncDeleteMessagesTo {} {} ({})", persistenceId, toSequenceNr, upTo)
}
}