Skip to content

[feature][PES][instance-label-server] add broadcast trigger when entrance service labels are modified #1016

@v-kkhuang

Description

@v-kkhuang

Search before asking

  • I had searched in the issues and found no similar issues.

Linkis Component

  • linkis-commons
  • linkis-computation-governance
  • linkis-dist
  • linkis-engineconn-plugin
  • linkis-extensions
  • linkis-orchestrator
  • linkis-public-enhancements
  • linkis-spring-cloud-services
  • linkis-web

Description

When an Entrance instance's labels are modified through the InstanceLabelService, other Entrance instances are not notified of the change. This causes stale Group cache information, leading to incorrect user task concurrency calculations since other instances still use the old label-based concurrency settings.

Steps to reproduce

  1. Start multiple Entrance instances
  2. Modify an Entrance instance's labels through the InstanceLabelService API
  3. Check other Entrance instances
  4. Their local Group cache is not updated, causing incorrect concurrency calculations

Expected behavior

When an Entrance instance's labels are modified, all other Entrance instances should be notified to clear their local Group cache, ensuring that subsequent task submissions use the updated label-based concurrency settings.

Your environment

  • Linkis version used: 2.0.0
  • Environment name and version:
    • jdk 1.8.0_xxx

Anything else

This change adds:

  1. Broadcast trigger in InstanceRestful when Entrance labels are updated
  2. Move EntranceGroupCacheClearBroadcast from entrance to protocol module for better module organization
  3. Configuration options to enable/disable the broadcast feature
  4. Exception handling to ensure broadcast failures don't affect label updates

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions