public void releaseRowLock(final Integer lockId) {
        if (lockId == null) {
            return;
        }
        HashedBytes rowKey = lockIds.remove(lockId);
        if (rowKey == null) {
            logger.warn(new StringBuilder(256).append(this.name)
                    .append(" release unknown lockId: ")
                    .append(lockId).toString());
            return;
        }
        CountDownLatch rowLatch = lockedRows.remove(rowKey);
        if (rowLatch == null) {
            logger.error(new StringBuilder(256).append(this.name)
                    .append(" releases row not locked, lockId: ")
                    .append(lockId).append(" row: ").append(rowKey).toString());
            return;
        }
        rowLatch.countDown();
    }
Release row lock

@param lockId the lock id
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/RowLock.java