**Describe the bug**
[A link to the report
](https://s3.amazonaws.com/clickhouse-test-reports/0/b4eae948898b103e8ee145c650108da4c80e2a53/stateful_tests__release__actions_.html)

**How to reproduce**
Run test `00024_random_counters.sql` with settings `--use_uncompressed_cache=1 --min_bytes_to_use_direct_io=1`

```
clickhouse-client -q "system drop uncompressed cache" && cat queries/1_stateful/00024_random_counters.sql | clickhouse-client -n --use_uncompressed_cache=1 --min_bytes_to_use_direct_io=1 > /dev/null
Received exception from server (version 22.7.1):
Code: 33. DB::Exception: Received from localhost:9000. DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 25.: (while reading column Sign): (while reading from part ./data/datasets/visits_v1/20140317_20140323_3_4_1/ from mark 204 with max_rows_to_read = 8192): While executing MergeTreeInOrder. (CANNOT_READ_ALL_DATA)
(query: SELECT uniq(UserID), sum(Sign) FROM datasets.visits_v1 WHERE CounterID = 33436573;)
```
pos = working_buffer.begin();
    }
    else
    {
        ProfileEvents::increment(ProfileEvents::RemoteFSUnprefetchedReads);
        auto result = asyncReadInto(memory.data(), memory.size()).get();
        size = result.size;
        auto offset = result.offset;
        LOG_TEST(log, "Current size: {}, offset: {}", size, offset);
        assert(offset <= size);
        if (size)
        {
            
            internal_buffer = Buffer(memory.data(), memory.data() + memory.size());
            working_buffer = Buffer(memory.data() + offset, memory.data() + size);
            pos = working_buffer.begin();
        }
    }
    watch.stop();
    ProfileEvents::increment(ProfileEvents::AsynchronousReadWaitMicroseconds, watch.elapsedMicroseconds());
    file_offset_of_buffer_end = impl->getFileOffsetOfBufferEnd();
    
    
    
    assert(file_offset_of_buffer_end >= impl->getImplementationBufferOffset());
    assert(file_offset_of_buffer_end <= impl->getFileSize());
    prefetch_future = {};
    return size;
}
off_t AsynchronousReadIndirectBufferFromRemoteFS::seek(off_t offset, int whence)