[Rust Frontend] Recognize new frontend-owned serve args as unsupported or no-op (#58330)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Bugen Zhao <i@bugenzhao.com>

Bugen Zhao committed Sep 24, 2026 at 13:43 UTC a5603f21ae7a8dc6f121cba3672123ca34319f43
1 file changed +78
rust/src/cmd/src/cli/unsupported.rs
+78
@@ -246,6 +246,13 @@ pub struct EngineUnsupportedArgs {
246 #[arg(long)]
247 pub io_processor_plugin: Option<Unsupported>,
248
249 + /// Number of worker threads in the renderer thread pool. The pool is
250 + /// consumed by the async renderer path to parallelize tokenization, chat
251 + /// template rendering, and multimodal preprocessing across concurrent
252 + /// requests.
253 + #[arg(long)]
254 + pub renderer_num_workers: Option<Noop>,
255 +
256 /// Path to a dynamically reasoning parser plugin that can be dynamically
257 /// loaded and registered.
258 #[arg(long)]
@@ -281,6 +288,16 @@ pub struct EngineUnsupportedArgs {
288 )]
289 pub data_parallel_external_lb: Option<Unsupported>,
290
291 + /// Enable fault tolerance for detailed error recovery, such as scaling
292 + /// down fault DPEngineCore.
293 + #[arg(
294 + long,
295 + visible_alias = "no-enable-fault-tolerance",
296 + default_missing_value = "true",
297 + num_args = 0..=1
298 + )]
299 + pub enable_fault_tolerance: Option<Unsupported>,
300 +
301 /// This feature is work in progress and no prefill optimization takes place
302 /// with this flag enabled currently.
303 #[arg(
@@ -308,6 +325,28 @@ pub struct EngineUnsupportedArgs {
325 #[arg(long)]
326 pub mm_processor_cache_type: Option<Unsupported>,
327
328 + /// Hash algorithm to use for multi-modal input caching. Use `"sha256"` or
329 + /// `"sha512"` for FIPS-compliant deployments.
330 + #[arg(long)]
331 + pub mm_hasher_algorithm: Option<Unsupported>,
332 +
333 + /// IPC (inter-process communication) method for multimodal tensors.
334 + /// - "direct_rpc": Use msgspec serialization via RPC
335 + /// - "torch_shm": Use torch.multiprocessing shared memory for zero-copy IPC
336 + #[arg(long)]
337 + pub mm_tensor_ipc: Option<Unsupported>,
338 +
339 + /// Device the HF multi-modal processor runs the image/video transform on.
340 + /// Convenience for `--mm-processor-kwargs '{"device": ...}'`.
341 + #[arg(long)]
342 + pub mm_processor_device: Option<Unsupported>,
343 +
344 + /// Amount of GPU memory (in GiB) sequestered on the engine's device for
345 + /// GPU-side multimodal work in the API-server (frontend) process, such as
346 + /// hardware video decoding.
347 + #[arg(long)]
348 + pub mm_ipc_gpu_memory_gb: Option<Unsupported>,
349 +
350 /// Dictionary mapping specific modalities to LoRA model paths.
351 #[arg(long)]
352 pub default_mm_loras: Option<Unsupported>,
@@ -324,6 +363,17 @@ pub struct EngineUnsupportedArgs {
363 #[arg(long)]
364 pub stream_interval: Option<Unsupported>,
365
366 + /// Maximum number of requests that can be in-flight (waiting or running)
367 + /// at the same time. When the limit is reached, new requests are rejected
368 + /// with HTTP 503 so the client can retry on another instance.
369 + #[arg(long)]
370 + pub max_num_queued_reqs: Option<Unsupported>,
371 +
372 + /// Maximum total prompt tokens of requests currently in the prefill phase.
373 + /// When the limit is reached, new requests are rejected with HTTP 503.
374 + #[arg(long)]
375 + pub max_num_queued_tokens: Option<Unsupported>,
376 +
377 /// Structured outputs configuration.
378 #[arg(long)]
379 pub structured_outputs_config: Option<Noop>,
@@ -419,6 +469,15 @@ pub struct ServerUnsupportedArgs {
469 #[arg(long)]
470 pub max_log_len: Option<Unsupported>,
471
472 + /// If set to True, include per-request timing metrics in API responses.
473 + #[arg(
474 + long,
475 + visible_alias = "no-enable-per-request-metrics",
476 + default_missing_value = "true",
477 + num_args = 0..=1
478 + )]
479 + pub enable_per_request_metrics: Option<Unsupported>,
480 +
481 /// If set to True, enable tracking server_load_metrics in the app state.
482 #[arg(
483 long,
@@ -492,6 +551,15 @@ pub struct ServerUnsupportedArgs {
551 )]
552 pub tokens_only: Option<Unsupported>,
553
554 + /// Controls the `system_fingerprint` field on responses: `full`, `hash`,
555 + /// `custom`, or `none`.
556 + #[arg(long)]
557 + pub fingerprint_mode: Option<Unsupported>,
558 +
559 + /// Literal fingerprint string used when `--fingerprint-mode=custom`.
560 + #[arg(long)]
561 + pub fingerprint_value: Option<Unsupported>,
562 +
563 /// Log level for uvicorn.
564 #[arg(long)]
565 pub uvicorn_log_level: Option<Unsupported>,
@@ -562,4 +630,14 @@ pub struct ServerUnsupportedArgs {
630 num_args = 0..=1
631 )]
632 pub enable_offline_docs: Option<Unsupported>,
633 +
634 + /// If set, run pooling score MaxSim on GPU in the API server process.
635 + /// Can significantly improve late-interaction scoring performance.
636 + #[arg(
637 + long,
638 + visible_alias = "no-enable-flash-late-interaction",
639 + default_missing_value = "true",
640 + num_args = 0..=1
641 + )]
642 + pub enable_flash_late_interaction: Option<Noop>,
643 }