yixianOu commented on PR #12794:
URL: https://github.com/apache/apisix/pull/12794#issuecomment-3649202506

   
   1) jwe-decrypt.t
   - Change: Updated TEST 26 assertion to match upstream Authorization header 
when echoed as an array, i.e., allowing "Authorization": ["hello"].
   - Reason: httpbin’s /headers returns headers as arrays; the previous 
string-only regex caused false test failures. This makes the test compatible 
with the actual upstream response format.
   
   2) stream-routes-subordinate.t
   - Change: Switched failure checks to decode the admin API JSON and assert on 
the error_msg field (e.g., “failed to fetch stream routes[999]”, “protocol 
mismatch”, “can not delete this stream route”).
   - Reason: Using structured error_msg ensures precise, stable validation, 
avoiding brittle raw-string matching and aligning tests with the API’s 
canonical error payload format.
   
   3) ai-request-rewrite2.t
   - Change:  removed manual cleanup steps embedded in the tests.
   - Reason: Reduce flakiness and dependency on manual teardown.
   
   
   CI test failure occurred in the job:
   `build (ubuntu-latest, linux_apisix_current_luarocks_in_customed_nginx)`
   
   Error log details:
   ```txt
   Error: 2025/12/12 06:10:14 [error] 95223#95223: *1 [lua] 
config_etcd.lua:602: load_full_data(): failed to check item data of 
[/apisix/routes] err:object matches none of the required: ["plugins","uri"] or 
["upstream","uri"] or ["upstream_id","uri"] or ["service_id","uri"] or 
["plugins","uris"] or ["upstream","uris"] or ["upstream_id","uris"] or 
["service_id","uris"] or ["script","uri"] or ["script","uris"] ,val: 
{"priority":0,"status":1,"uri":"/2"}, context: init_worker_by_lua*
   
   
   Root cause analysis:
   The failure is triggered by an invalid route object persisted in etcd: 
{"priority":0,"status":1,"uri":"/2"}. 
   This route object fails schema validation because it lacks mandatory field 
combinations — per the routing schema requirements, at least one of [plugins, 
upstream, upstream_id, service_id, script] must be paired with either uri or 
uris. 
   The schema check failure in load_full_data() throws the "object matches none 
of the required" error, causing the worker initialization process to terminate 
immediately and resulting in CI pipeline failure.
   
   But I can't find where this dirty record come from.


-- 
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