AWS Athena 客户端有自己的缓冲队列吗?

问题描述 投票:0回答:0

同时向雅典娜发送 10_000 个执行查询。 我们预计失败的次数会比我们得到的多得多。当前 Athena 队列限制为 100,如果我们同时触发 10K 个查询,则除了前 100 个之外的所有查询都应该失败。我们看到查询不会立即失败,但其中一些会随着时间的推移而完成。在监控雅典娜控制台时,一旦排队的查询被消耗,新的查询就会被填入队列,但在任何时候都不会超过 100。

其余提交的查询在哪里排队?

val workerPool: ExecutorService = Executors.newFixedThreadPool(2000, AppThreadFactory())
for (item in 1..2000) {
          bookIds.add("BOOK_$item")
          futureList.add(workerPool.submit { accountBalanceTask(bookIds, metricsCollection) })
          futureList.add(workerPool.submit { positionSummaryTask(bookIds, metricsCollection) })
          futureList.add(workerPool.submit { openTaxLotTask(bookIds, metricsCollection) })
          futureList.add(workerPool.submit { closeTaxLotChangeTask(bookIds, metricsCollection) })
          futureList.add(workerPool.submit { cashActivityChangeTask(bookIds, metricsCollection) })
          bookIds.clear()
      }
futureList.forEach {
        run {
          try {
            val get = it.get()
          } catch (ex: Exception) {
            //LOG.error("Exception happened", ex)
          }
        }
      }
      workerPool.shutdown()
amazon-web-services amazon-athena
© www.soinside.com 2019 - 2024. All rights reserved.