### Description

Our blocks#equals implementation checks only the content and skips a trivial identity check.

x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/data/DocBlock.java
return vector.hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj instanceof DocBlock == false) {
            return false;
        }
        return vector.equals(((DocBlock) obj).vector);
    }
    @Override
    public long ramBytesUsed() {
        return BASE_RAM_BYTES_USED + RamUsageEstimator.sizeOf(vector);
    }
    @Override
    public void close() {
        if (released) {
            throw new IllegalStateException("can't release already released block [" + this + "]");
        }
        released = true;
        Releasables.closeExpectNoException(vector);
    }
    /**
     * A builder the for {@link DocBlock}.
     */
    public static Builder newBlockBuilder(int estimatedSize, BlockFactory blockFactory) {
        return new Builder(estimatedSize, blockFactory);
    }
    public static class Builder implements Block.Builder {
        private final IntVector.Builder shards;
        private final IntVector.Builder segments;