in core/src/main/scala/org/apache/pekko/persistence/jdbc/journal/dao/BaseDao.scala [45:60]
def writeJournalRows(xs: Seq[T]): Future[Unit]
def queueWriteJournalRows(xs: Seq[T]): Future[Unit] = {
val promise = Promise[Unit]()
writeQueue.offer(promise -> xs).flatMap {
case QueueOfferResult.Enqueued =>
promise.future
case QueueOfferResult.Failure(t) =>
Future.failed(new Exception("Failed to write journal row batch", t))
case QueueOfferResult.Dropped =>
Future.failed(new Exception(
s"Failed to enqueue journal row batch write, the queue buffer was full (${baseDaoConfig.bufferSize} elements) please check the jdbc-journal.bufferSize setting"))
case QueueOfferResult.QueueClosed =>
Future.failed(new Exception("Failed to enqueue journal row batch write, the queue was closed"))
}
}