public BaseQueryServicesImpl(QueryServicesOptions options) {
this.executor = JobManager.createThreadPoolExec(
options.getKeepAliveMs(),
options.getThreadPoolSize(),
options.getQueueSize());
this.memoryManager = new GlobalMemoryManager(
Runtime.getRuntime().totalMemory() * options.getMaxMemoryPerc() / 100,
options.getMaxMemoryWaitMs());
this.props = options.getProps();
this.queryOptimizer = new QueryOptimizer(this);
}