@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof OffsetStorageInfo)) {
            return false;
        }
        OffsetStorageInfo that = (OffsetStorageInfo) o;
        if (brokerId != that.brokerId) {
            return false;
        }
        if (partitionId != that.partitionId) {
            return false;
        }
        if (messageId != that.messageId) {
            return false;
        }
        if (firstCreate != that.firstCreate) {
            return false;
        }
        if (modified != that.modified) {
            return false;
        }
        if (lstRstTerm != that.lstRstTerm) {
            return false;
        }
        if (lstUpdateTime.get() != that.lstUpdateTime.get()) {
            return false;
        }
        if (!topic.equals(that.topic)) {
            return false;
        }
        return (offset.get() == that.offset.get());

    }
Initial offset storage information

@param topic          the topic name
@param brokerId       the broker id
@param partitionId    the partition id
@param lstRstTerm     the last reset term
@param offset         the offset
@param messageId      the message id
@param firstCreate    whether is the first record creation
@param lstUpdateTime  the last update time
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/offset/OffsetStorageInfo.java