private RealtimeSetting getRTSetting(TableSchema tableSchema) {
        RealtimeConfig rtConf = tableSchema.realtimeConfig;
        if (tableSchema.realtimeConfig == null) {
            return null;
        }
        return new RealtimeSetting(
                tableSchema.schema,
                rtConf.aggSchema.dims,
                rtConf.aggSchema.metrics,
                rtConf.nameToAlias,
                rtConf.tagSetting,
                rtConf.ignoreStrategy,
                rtConf.savePeriodMinutes * 60 * 1000,
                rtConf.uploadPeriodMinutes * 60 * 1000,
                rtConf.maxRowInMemory,
                rtConf.maxRowInRealtime,
                indexRConfig.getTimeZone(),
                rtConf.aggSchema.grouping,
                rtConf.ingest,
                tableSchema.mode,
                rtConf.fetcher);
    }
This segment pool cache all realtime segment fds.
indexr-server/src/main/java/io/indexr/server/rt/RealtimeSegmentPool.java