        int share = _max_warehouses() / total_cpus;

        if (_max_warehouses() % total_cpus != 0) {
            K2LOG_W(log::tpcc, "CPUs {} must divide evenly into num warehouses {}!", total_cpus, _max_warehouses());
            return seastar::make_exception_future(std::runtime_error("Unable to load data due to CPU/warehouse mismatch"));
        }

        auto f = seastar::make_ready_future<>();
        if (_global_id == 0) {
            f = f.then ([this] {
                K2LOG_I(log::tpcc, "Creating primary collection");
                dto::CollectionMetadata metadata{
                    .name = tpccCollectionName,
                    .hashScheme = dto::HashScheme::Range,
                    .storageDriver = dto::StorageDriver::K23SI,