{"record":{"id":"4dc9bc9ca932a3ec","repo":"2noise/ChatTTS","slug":"max-concurrent-workers-is-not-supported-yet","errorCode":null,"errorMessage":"max_concurrent_workers is not supported yet.","messagePattern":"max_concurrent_workers is not supported yet\\.","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"ChatTTS/model/velocity/llm_engine.py","lineNumber":811,"sourceCode":"        if (not sampling_params.ignore_eos) and seq.get_last_token_id()[\n            0\n        ] == sampling_params.eos_token:\n            seq.status = SequenceStatus.FINISHED_STOPPED\n            return\n\n    def _run_workers(\n        self,\n        method: str,\n        *args,\n        driver_args: Optional[List[Any]] = None,\n        driver_kwargs: Optional[Dict[str, Any]] = None,\n        max_concurrent_workers: Optional[int] = None,\n        **kwargs,\n    ) -> Any:\n        \"\"\"Runs the given method on all workers.\"\"\"\n\n        if max_concurrent_workers:\n            raise NotImplementedError(\"max_concurrent_workers is not supported yet.\")\n\n        # Start the ray workers first.\n        ray_worker_outputs = [\n            worker.execute_method.remote(method, *args, **kwargs)\n            for worker in self.workers\n        ]\n\n        if driver_args is None:\n            driver_args = args\n        if driver_kwargs is None:\n            driver_kwargs = kwargs\n\n        # Start the driver worker after all the ray workers.\n        driver_worker_output = getattr(self.driver_worker, method)(\n            *driver_args, **driver_kwargs\n        )\n\n        # Get the results of the ray workers.","sourceCodeStart":793,"sourceCodeEnd":829,"githubUrl":"https://github.com/2noise/ChatTTS/blob/77b89ee281cd479f5b1a787ada330dc975ca1f2a/ChatTTS/model/velocity/llm_engine.py#L793-L829","documentation":"_run_workers broadcasts a method call to all engine workers (Ray actors and the local driver worker). A max_concurrent_workers parameter exists in the signature for capping concurrency, but it is unimplemented: any truthy value raises NotImplementedError. It is dead API surface kept from upstream vLLM.","triggerScenarios":"Any internal call path (_init_workers, _init_workers_ray, _init_cache, step) or external code invoking _run_workers with max_concurrent_workers set to a non-zero positive integer.","commonSituations":"Code copied from a newer vLLM version that uses max_concurrent_workers for CPU offload/parallel init; attempting to speed up worker startup by capping concurrency.","solutions":["Remove the max_concurrent_workers argument - leave it None/default everywhere.","If you need the behavior from newer vLLM, port the vendored engine to that version; this fork simply lacks the feature.","If porting, implement concurrency capping around the ray.get / execute_method loop and drop the raise."],"exampleFix":"# before\nengine._run_workers('profile_num_available_blocks', max_concurrent_workers=4)\n\n# after\nengine._run_workers('profile_num_available_blocks')","handlingStrategy":"validation","validationCode":"def run_workers(engine, method, *args, **kwargs):\n    kwargs.pop('max_concurrent_workers', None)  # unsupported in this fork\n    return engine._run_workers(method, *args, **kwargs)","typeGuard":null,"tryCatchPattern":"try:\n    engine._run_workers(method, *args, max_concurrent_workers=n)\nexcept NotImplementedError:\n    engine._run_workers(method, *args)","preventionTips":["Don't copy newer-vLLM call sites into this vendored fork verbatim.","Grep for NotImplementedError gates before using optional-looking parameters."],"tags":["not-implemented","vllm","internal-api"],"backgroundTag":"unsupported-argument","analyzedSha":"77b89ee281cd479f5b1a787ada330dc975ca1f2a","analyzedAt":"2026-08-26T17:48:24.233Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}