Skip to content

[BUG] AbstractWasmDiscoveryHandler does not forward upstream deletion events #7562

Closed

Description

@Aias00

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

AbstractWasmDiscoveryHandler implements only handlerDiscoveryUpstreamData.

CommonDiscoveryUpstreamDataSubscriber dispatches deletion through removeDiscoveryUpstreamData(DiscoveryUpstreamKey). Because the WASM handler does not override it, it inherits the interface's empty implementation.

A guest that maintains discovery state receives updates but receives no deletion notification through this base class.

Expected Behavior

Forward deletion to a documented guest callback, including the DiscoveryUpstreamKey data needed to remove the relevant state. Define behavior for guests that do not implement this callback.

Steps To Reproduce

Source-derived scenario:

  1. Implement a WASM discovery handler using the existing base class, without a custom Java deletion override.
  2. Deliver an upstream update and store it in guest state.
  3. Deliver a deletion through the discovery subscriber.
  4. No guest deletion callback is invoked; guest-maintained state can retain the removed upstream.

Environment

ShenYu: 2.7.2-SNAPSHOT, commit 2dff2730ff399635b2bc657e21a903f391fb9df8; Java 17; Chicory 1.7.3.

Anything else?

Current Go/Rust discovery tests cover updates only. Add deletion coverage through both the handler and subscriber, including a missing optional export case.

Activity

  1. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

    👋 Hello @yuluo-yx

    A new issue has been opened by @Aias00:

    Please review when you have time. Thank you! 🙏

  2. yangjj-iso commented on Oct 12, 2026

    @yangjj-iso
    Contributor

    /assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions