feat(frontend): support autoforwarding through headers#7681
feat(frontend): support autoforwarding through headers#7681shijiesheng merged 5 commits intocadence-workflow:masterfrom
Conversation
20fabba to
a32cec8
Compare
Signed-off-by: Shijie Sheng <liouvetren@gmail.com>
Signed-off-by: Shijie Sheng <liouvetren@gmail.com>
Signed-off-by: Shijie Sheng <liouvetren@gmail.com>
eab46d9 to
618dbf7
Compare
Signed-off-by: Shijie Sheng <liouvetren@gmail.com>
🔍 CI failure analysis for ea8934b: Integration test suite timed out or failed due to infrastructure issues after running for 10+ minutes. No specific test failure message. Unrelated to PR which only modifies frontend cluster redirection wrappers.IssueGolang Integration Test with SQLite Failure (Job 64906385897)
Root CauseThis appears to be an infrastructure/timeout issue unrelated to the PR changes. The integration test suite ran for over 10 minutes and failed with a generic FAIL message, but without any specific test case failure: AnalysisNo Test Failure Details:
Infrastructure Indicators:
DetailsWhy This Is Unrelated to PR:
Previous Analysis (Still on Record)Linting failures in commit Code Review 👍 Approved with suggestions 3 resolved / 4 findingsClean implementation of header-driven autoforwarding with proper nil-safety. Only the missing license header in utils.go remains unresolved. 💡 Quality: Missing license header in utils.go📄 service/frontend/wrappers/clusterredirection/utils.go The new Impact: This is a minor consistency issue that should be addressed to maintain codebase standards. Suggested fix: Add the Apache 2.0 license header to the top of // Copyright (c) 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
package clusterredirection✅ 3 resolved✅ Bug: Tests reference non-existent constant and don't test actual implementation
✅ Bug: Unused imports
|
| Auto-apply | Compact |
|
|
Was this helpful? React with 👍 / 👎 | Gitar
What changed?
add client feature flag support on server to enable autoforwarding
ref #7707
For ordering,
Payload > Header > default Eventual consistency level
Why?
Allows client workers to poll and process tasks from all regions. This is particularly useful when a test infra started a test container that's trying to process tasks during the test.
Before: you'll need to ensure the test container is started in region that's connected to domain's active cluster
Now: all test containers can be auto forwarded to active cluster if they provide the
client-feature-flagheader with auto forwarding enabledHow did you test it?
Unit Test
(WIP) Testing xdc clusters with cadence-samples to do xdc processing
Potential risks
The header is passed by clients. If they pass it wrong, inactive workers will start processing workflows unexpectedly.
Release notes
added new field in structured
client-feature-flagheader to allow users to set autoforwardingDocumentation Changes
N/A
Reviewer Validation
PR Description Quality (check these before reviewing code):
go testinvocation)