@Override
    public ColumnNode columnNode(int colId) throws IOException {
        List<ColumnNode> subNodes = new ArrayList<>();
        for (RealtimeSegment rts : segments.values()) {
            subNodes.add(rts.columnNode(colId));
        }
        return ColumnNode.merge(subNodes, metadata.schema.columns.get(colId).getDataType());
    }
A thread may constantly call this method to finally push the segment into storage system.

@return -1: This rts group is done it's job, no more calls to handle; 0: should immediately call again; else: Next call period.
indexr-segment/src/main/java/io/indexr/segment/rt/RTSGroup.java