#4722·higress

Proposal: support Integer and Short Dubbo string parameters (#3659)

Author: pilichoumaoCreated Sep 18, 2026Updated Sep 18, 2026

Summary

Deliver a focused first increment of #3659: java.lang.Integer and java.lang.Short for QUERY/HEADER/PATH string parameters in the Higress Envoy http_dubbo_transcoder.

Evidence and scope

At envoy-1.36 baseline 9bd2ded786073d115beb71d0f2ca0afc075e4f4d, convertStringToTypeValue still recognizes only the existing Boolean/Double/Long/String/List mapping. The issue identifies Integer as the production blocker.

  • Recognize exact Integer/Short wrapper names using existing Long lexical validation and integer JSON representation.
  • Preserve configured Java type identity for generic invocation; do not substitute Long in the method signature.
  • Preserve existing Long behavior and the original issue's provider-side narrowing policy. Do not introduce a new gateway range policy; document/test this boundary.
  • Preserve malformed-input rejection and existing five-type behavior.
  • Demonstrate exact Integer/Short method dispatch against a pinned real Dubbo provider.

Float, Date, Set and BigDecimal are deferred, not claimed fixed. The historical prototype routes BigDecimal through floating point; that is not decimal-precision-preserving support. Future increments need separate compatibility criteria. The eventual PR must use Part of higress-group/higress#3659, not auto-close the full six-type request.

Delivery and approval

Code targets higress-group/envoy, branch envoy-1.36. This planning discussion lives with the original Higress tracking issue. Do not publish gateway packages/images or update the Higress submodule before an accepted, fetchable Envoy revision exists.

July prototype d35b2ae0814699207b7791308ab23f0a956c4298 is reference material; former Envoy PR #30 is currently inaccessible (404). It is not approval or validation of this narrowed increment.

Current contributor: pilichoumao; material AI assistance. Explicit maintainer approval of Proposal/Design is requested before implementation. No retroactive approval or maintainer exception is claimed.

Acceptance

Utility/transcoder tests cover valid/invalid wrappers, all three sources and original Java signatures. Real Envoy/Dubbo red-green evidence shows baseline rejection becoming the intended Integer/Short invocation while Long remains unchanged. Pin source/build/provider/toolchain, configs, requests, output/log assertions and cleanup.