Testing — Remove the legacy agent-classifier backfill
Verification plan for the removal described in architecture.md and change-spec.md. Symbol and file names match those documents verbatim.
Why the failing test is deleted, not repaired
The failing test legacyAgentClassifierBackfillUsesConcreteExecutionTimeBounds() exists
only to exercise backfillLegacyAgentExecutionClassifiers() via reflection:
Method backfill =
AgentService.class.getDeclaredMethod("backfillLegacyAgentExecutionClassifiers");
backfill.setAccessible(true);
backfill.invoke(agentService);
Since reviewer comment (2) forbids re-adding the method, the behavior under test no longer exists. A test that asserts on a deliberately removed capability has no valid subject, so it is deleted rather than rewritten. There is no replacement assertion: nothing in the retained code performs classifier backfill, so there is nothing new to cover.
Static verification (must all hold after the edits)
Run from the repository root:
| Check | Expected |
|---|---|
grep -R "backfillLegacyAgentExecutionClassifiers" . |
no matches |
grep -R "reindexAgentExecutions" . |
no matches |
grep -R "backfillVersionOf" . |
no matches |
grep -R "AGENT_CLASSIFIER_BACKFILL_VERSION" . |
no matches |
grep -n "indexDAO\|IndexDAO" agentspan/.../service/AgentService.java |
no matches |
grep -n "java.lang.reflect.Method" test-harness/.../AgentSpanDeploymentContractEndToEndTest.java |
no matches |
Build & test verification
| Command | Expected result |
|---|---|
./gradlew spotlessApply |
Reformats touched files; no manual formatting needed. |
./gradlew :agentspan:compileJava |
Compiles — confirms the IndexDAO import/field removal left no dangling reference and the Lombok constructor still resolves. |
./gradlew :test-harness:compileTestJava |
Compiles — confirms the Method import removal left no dangling reference. |
./gradlew :test-harness:test --tests "com.netflix.conductor.test.integration.agent.AgentSpanDeploymentContractEndToEndTest" |
Passes; the legacyAgentClassifierBackfill... case is no longer present, so it can neither fail nor error with NoSuchMethodException. |
Regression surface
The removal is subtractive and touches no production caller (see the
Reachability analysis). The remaining tests
in AgentSpanDeploymentContractEndToEndTest — deployment, metadata stamping, callback
placement, and the sibling classifier/routing cases — are unaffected because they do not
reference any removed symbol. No new test is added, consistent with a
capability-removal change.
Acceptance criteria
- Both reviewer comments are satisfied: the backfill method is not present, and the
test suite no longer fails with
NoSuchMethodException. agentspanandtest-harnesscompile.AgentSpanDeploymentContractEndToEndTestpasses with the backfill case removed.- All static-verification greps return no matches.