Baoyuantop commented on issue #2749:
URL: 
https://github.com/apache/apisix-ingress-controller/issues/2749#issuecomment-4294137348

   Hi @hanxinimm, thanks for reporting this issue.
   
   Based on the error logs, the root cause is a **configuration version 
conflict**.
   
   The error `consumers_conf_version must be greater than or equal to 
(3314986)` originates from APISIX's standalone mode Admin API 
(`apisix/admin/standalone.lua`). This API requires that the configuration 
version number must be **monotonically increasing** — the new 
`consumers_conf_version` cannot be lower than the currently stored version.
   
   You mentioned modifying configurations directly via the Admin API (port 
9180) before the Ingress Controller sync. This pushed the 
`consumers_conf_version` to a high value (3314986). When the Ingress Controller 
subsequently tries to sync its managed configuration via ADC, its version 
number is lower than what APISIX has stored, so the request gets rejected.
   
   The issue persists after deleting the APISIX Pod likely because the ADC 
Server maintains its own cache (via the `CacheKey` mechanism), or the Ingress 
Controller still carries the old version number when re-syncing.
   
   **Recommended solutions**:
   
   1. **Avoid mixed management**: When APISIX is managed by the Ingress 
Controller, do not modify configurations directly via the Admin API. All 
changes should go through Kubernetes CRDs or the Ingress Controller workflow.
   2. **Recovery steps**: To recover from the current state, try cleaning up 
both sides simultaneously — delete the APISIX Pod **and** restart the Ingress 
Controller Pod to clear the ADC cache, ensuring version numbers are re-aligned.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to