@Override
    public FetchResult<List<SpanBo>> selectSpan(TransactionId transactionId, ColumnGetCount columnGetCount) {
        Objects.requireNonNull(transactionId, "transactionId");

        byte[] transactionIdRowKey = rowKeyEncoder.encodeRowKey(transactionId);

        final Get get = new Get(transactionIdRowKey);
        get.setMaxResultsPerColumnFamily(traceMaxResultsPerColumnFamily);
        get.addFamily(DESCRIPTOR.getName());
        final Filter filter = ColumnGetCount.toFilter(columnGetCount);
        if (filter != null) {
            get.setFilter(filter);
        }

        TableName traceTableName = tableNameProvider.getTableName(DESCRIPTOR.getTable());
        ResultSizeMapper<List<SpanBo>> resultSizeMapper = new ResultSizeMapper<>();
        RowMapper<List<SpanBo>> rowMapper = new RowMapperResultAdaptor<>(spanMapperFactory.getSpanMapper(), resultSizeMapper);

        List<SpanBo> spanBos = template2.get(traceTableName, get, rowMapper);

        return new FetchResult<>(resultSizeMapper.getResultSize(), spanBos);
    }
@author Woonduk Kang(emeroad)
@author Taejin Koo
web/src/main/java/com/navercorp/pinpoint/web/dao/hbase/HbaseTraceDaoV2.java