Skip to content

fix: NeuronWorker missing get_kv_connector_handshake_metadata() #21

@dmvevents

Description

@dmvevents

Bug

`NeuronWorker` in `vllm_neuron/worker/neuron_worker.py` does not implement `get_kv_connector_handshake_metadata()`. The V1 engine calls this method during startup to exchange NIXL agent metadata between prefill and decode workers.

Environment

  • Instance: trn1.32xlarge
  • Neuron SDK: 2.28.0
  • vllm-neuron: 0.5.0 (release-0.5.0 branch)
  • vLLM: 0.16.0

Error

```
AttributeError: 'NeuronWorker' object has no attribute 'get_kv_connector_handshake_metadata'
```

Steps to Reproduce

Start vllm-neuron with NixlConnector configured. The crash occurs during engine initialization when it tries to call the missing method.

Suggested Fix

Add the method to `NeuronWorker`, following the same pattern as `GPUWorker`:

```python
def get_kv_connector_handshake_metadata(self):
from vllm.distributed.kv_transfer import has_kv_transfer_group, get_kv_transfer_group
from vllm.distributed.parallel_state import get_tp_group
if not has_kv_transfer_group():
return None
connector = get_kv_transfer_group()
metadata = connector.get_handshake_metadata()
if metadata is None:
return None
return {get_tp_group().rank_in_group: metadata}
```

Context

Part of enabling NIXL-based disaggregated inference on Neuron/Trainium. The handshake metadata exchange is how prefill and decode workers discover each other's NIXL agents and memory descriptors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions