Предел размера набора результатов по умолчанию - PullRequest
0 голосов
/ 18 сентября 2018

Интересно, есть ли размер результирующего набора по умолчанию при выполнении DBAction с гладкой интеграцией потокового акка.

Действительно (я использую akka-stream slick). Когда я пишу следующий запрос:

Slick.source(sql"""select * FROM DRUG""".as[(Map[String,String])])

как в

val tableRows =
    Slick.source(sql"""select * FROM DRUG""".as[(Map[String,String])])
      .map{e => RawData("DRUG", "/Users/xxxx/xxxx/WSP1WS5-DRUG-auto-model.ttl", "OBJECT", "", e)}
      .mapAsyncUnordered(8){value =>
        Future{
          println(s"Writing {${value.toString}}")
          val kryo = kryoPool.obtain()
          val outStream = new ByteArrayOutputStream()
          val output = new Output(outStream, 4096)
          kryo.writeClassAndObject(output, value)
          output.close()
          kryoPool.free(kryo)
          new ProducerRecord[String, Array[Byte]]("test", outStream.toByteArray)
        }
      }
      .runWith(Producer.plainSink(producerSettings))

Мой запрос возвращает примерно 400 записей, а затем просто висит там. У меня есть около 5 тысяч записей в этой таблице. Это нормально?

Однако мне удалось получить их все, хотя, я считаю, медленнее, чем следовало бы, используя следующее утверждение:

Slick.source (sql "" "select * FROM DRUG Where ROWNUM <= 1000000000 ""». Как [(карта [String, String])]) </p>

Кстати, база данных, о которой я говорю, оракул. Следовательно, мне интересно, если это происходит из-за оракула, гладкости или интеграции с akka-stream.

Есть предложения по этому поводу?

...