I have an ORC file with 10 mln rows. I created a table with the same structure and executed `insert into <table> select * from file('<filename>', ORC, '<fields>')` . Rows were inserted, and `select count(1) from <table>` gave me 10 mln. But query didn't stop, and still is running. `select query, written_rows from system.processes` shows 700 mln inserted rows and counting.

`CREATE TABLE t (a lot of ordinary fields) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/t', '{replica}') PARTITION BY toYYYYMM(calday) ORDER BY (calday) SETTINGS index_granularity = 8192`
clickhouse version 20.8.2.3.

**Expected behavior**
Query is finished.
{
}
Chunk ORCBlockInputFormat::generate()
{
    Chunk res;
    const Block & header = getPort().getHeader();
    if (in.eof())
        return res;
    arrow::Status open_status = arrow::adapters::orc::ORCFileReader::Open(asArrowFile(in), arrow::default_memory_pool(), &file_reader);
    if (!open_status.ok())
        throw Exception(open_status.ToString(), ErrorCodes::BAD_ARGUMENTS);
    std::shared_ptr<arrow::Table> table;
    arrow::Status read_status = file_reader->Read(&table);
    if (!read_status.ok())
        throw ParsingException{"Error while reading ORC data: " + read_status.ToString(),
                        ErrorCodes::CANNOT_READ_ALL_DATA};
    ArrowColumnToCHColumn::arrowTableToCHChunk(res, table, header, "ORC");
    return res;
}
void ORCBlockInputFormat::resetParser()