apache / apache/shenyu

[Question] Conflict Between URIRegister and DiscoveryConfigRegister During Initial Service Registration

Open
#5,839 0 comments 0 reactions 0 assignees View on GitHub
type: question
Dominant language
Java
Stars
8.8k
Forks
3.1k
Avg merge
7d 1h
Merged PRs (30d)
85

Description

### Question

I encountered an issue during the initial automatic registration of a service where the URIRegister and DiscoveryConfigRegister processes conflict.

The URIRegister process creates a default discovery of type local.
The DiscoveryConfigRegister process registers the configured discovery (in my case, Zookeeper).
The execution order of these processes cannot be controlled. Sometimes, the URIRegister process executes first, resulting in the creation of a local type discovery. Occasionally, this also leads to concurrency issues, causing duplicate creation of discovery_rel data.

Currently, the only workaround is to manually create selectors and discovery configurations for each service in the Divide plugin, which avoids errors caused by automatic creation.

Could you please advise on how to avoid these conflicts or disable the URIRegister process without modifying the code?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the URIRegister and DiscoveryConfigRegister registration paths and compare them with the Divide plugin's manual selector and discovery configuration path. Done means identifying a supported configuration or documented way to avoid the registration conflict and duplicate discovery_rel creation.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.