conductor-oss/conductor · error · UnsupportedOperationException
This method is not implemented in CassandraPollDataDAO. Plea
Error message
This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.
What it means
CassandraPollDataDAO is an explicit stub: it throws UnsupportedOperationException for updateLastPollData because poll-data persistence is intentionally not implemented for the Cassandra backend. The message directs callers to ExecutionDAOFacade, which is the supported entry point for poll data when running on Cassandra.
Source
Thrown at cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraPollDataDAO.java:28
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
package com.netflix.conductor.cassandra.dao;
import java.util.List;
import com.netflix.conductor.common.metadata.tasks.PollData;
import com.netflix.conductor.dao.PollDataDAO;
/**
* This is a dummy implementation and this feature is not implemented for Cassandra backed
* Conductor.
*/
public class CassandraPollDataDAO implements PollDataDAO {
@Override
public void updateLastPollData(String taskDefName, String domain, String workerId) {
throw new UnsupportedOperationException(
"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.");
}
@Override
public PollData getPollData(String taskDefName, String domain) {
throw new UnsupportedOperationException(
"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.");
}
@Override
public List<PollData> getPollData(String taskDefName) {
throw new UnsupportedOperationException(
"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.");
}
}
View on GitHub (pinned to cf7c3e4a8a)
Solutions
- Use ExecutionDAOFacade.updateLastPollData(...) instead of calling the DAO directly.
- If persistent poll data is a hard requirement, switch to a backend that implements PollDataDAO (redis/postgres).
- Otherwise, treat poll data as unsupported on Cassandra and remove the direct DAO call.
Example fix
// before: direct DAO call - throws on Cassandra pollDataDAO.updateLastPollData(taskDefName, domain, workerId); // after: go through the facade executionDAOFacade.updateLastPollData(taskDefName, domain, workerId);
Defensive patterns
Strategy: fallback
Validate before calling
// Detect the Cassandra stub before calling, and route through the facade
if (pollDataDAO instanceof CassandraPollDataDAO) {
executionDAOFacade.updateLastPollData(taskDefName, domain, workerId);
} else {
pollDataDAO.updateLastPollData(taskDefName, domain, workerId);
} Try / catch
// Fall back to the facade when the DAO is unsupported
try {
pollDataDAO.updateLastPollData(taskDefName, domain, workerId);
} catch (UnsupportedOperationException e) {
executionDAOFacade.updateLastPollData(taskDefName, domain, workerId);
} Prevention
- Never inject PollDataDAO directly on Cassandra deployments - use ExecutionDAOFacade.
- When porting logic from redis/postgres, audit all PollDataDAO calls.
- Document that Cassandra does not persist poll data.
When it happens
Trigger: Code calls pollDataDAO.updateLastPollData(taskDefName, domain, workerId) directly on the injected PollDataDAO bean while Cassandra is the active persistence backend.
Common situations: Porting custom instrumentation or worker logic from the Redis/Postgres backend (which implement PollDataDAO) to Cassandra; injecting PollDataDAO directly instead of using ExecutionDAOFacade.
Related errors
- Skill registry is not available
- llmProvider not specified: {name}
- no configuration found for: {name}
- Bad/Unsupported schema? : {validationMessages}
- Agent Card resolved from %s does not advertise a JSON-RPC 'u
AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14).
Data as JSON: /api/errors/567c84a7e5f438a6.
Report an issue: GitHub.