{"record":{"id":"567c84a7e5f438a6","repo":"conductor-oss/conductor","slug":"this-method-is-not-implemented-in-cassandrapolldat","errorCode":null,"errorMessage":"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.","messagePattern":"This method is not implemented in CassandraPollDataDAO\\. Please use ExecutionDAOFacade instead\\.","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraPollDataDAO.java","lineNumber":28,"sourceCode":" * an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations under the License.\n */\npackage com.netflix.conductor.cassandra.dao;\n\nimport java.util.List;\n\nimport com.netflix.conductor.common.metadata.tasks.PollData;\nimport com.netflix.conductor.dao.PollDataDAO;\n\n/**\n * This is a dummy implementation and this feature is not implemented for Cassandra backed\n * Conductor.\n */\npublic class CassandraPollDataDAO implements PollDataDAO {\n\n    @Override\n    public void updateLastPollData(String taskDefName, String domain, String workerId) {\n        throw new UnsupportedOperationException(\n                \"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.\");\n    }\n\n    @Override\n    public PollData getPollData(String taskDefName, String domain) {\n        throw new UnsupportedOperationException(\n                \"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.\");\n    }\n\n    @Override\n    public List<PollData> getPollData(String taskDefName) {\n        throw new UnsupportedOperationException(\n                \"This method is not implemented in CassandraPollDataDAO. Please use ExecutionDAOFacade instead.\");\n    }\n}\n","sourceCodeStart":10,"sourceCodeEnd":44,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraPollDataDAO.java#L10-L44","documentation":"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.","triggerScenarios":"Code calls pollDataDAO.updateLastPollData(taskDefName, domain, workerId) directly on the injected PollDataDAO bean while Cassandra is the active persistence backend.","commonSituations":"Porting custom instrumentation or worker logic from the Redis/Postgres backend (which implement PollDataDAO) to Cassandra; injecting PollDataDAO directly instead of using ExecutionDAOFacade.","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."],"exampleFix":"// before: direct DAO call - throws on Cassandra\npollDataDAO.updateLastPollData(taskDefName, domain, workerId);\n\n// after: go through the facade\nexecutionDAOFacade.updateLastPollData(taskDefName, domain, workerId);","handlingStrategy":"fallback","validationCode":"// Detect the Cassandra stub before calling, and route through the facade\nif (pollDataDAO instanceof CassandraPollDataDAO) {\n    executionDAOFacade.updateLastPollData(taskDefName, domain, workerId);\n} else {\n    pollDataDAO.updateLastPollData(taskDefName, domain, workerId);\n}","typeGuard":null,"tryCatchPattern":"// Fall back to the facade when the DAO is unsupported\ntry {\n    pollDataDAO.updateLastPollData(taskDefName, domain, workerId);\n} catch (UnsupportedOperationException e) {\n    executionDAOFacade.updateLastPollData(taskDefName, domain, workerId);\n}","preventionTips":["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."],"tags":["cassandra","poll-data","unsupported","configuration","backend"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}