public JobErrorDetail fetchErrorDetail()

in api-server/src/main/java/org/apache/cassandra/diff/api/services/DBService.java [264:285]


    public JobErrorDetail fetchErrorDetail(UUID jobId) {
        JobSummary summary = fetchJobSummary(jobId);
        List<ResultSetFuture> rangeFutures = Lists.newArrayListWithCapacity(summary.buckets);

        for (int i = 0; i < summary.buckets; i++ )
            rangeFutures.add(session.executeAsync(jobErrorRangesStatement.bind(jobId, i)));

        List<ResultSetFuture> errorFutures = Lists.newArrayList();
        processFutures(rangeFutures,
                       row -> session.executeAsync(jobErrorDetailStatement.bind(jobId,
                                                                                row.getInt("bucket"),
                                                                                row.getString("qualified_table_name"),
                                                                                row.getString("start_token"),
                                                                                row.getString("end_token"))),
                       errorFutures::add);
        Map<String, List<String>> errorsByTable = Maps.newHashMapWithExpectedSize(summary.keyspaceTables.size());
        processFutures(errorFutures,
                       row -> errorsByTable.merge(row.getString("qualified_table_name"),
                                                  Lists.newArrayList(row.getString("error_token")),
                                                  (l1, l2) -> { l1.addAll(l2); return l1;}));
        return new JobErrorDetail(jobId, errorsByTable);
    }