StateAssignmentOperation.checkStateMappingCompleteness doesn't check for UserDefinedOperatorIDs (specified using setUidHash), causing the exception:
java.lang.IllegalStateException: There is no operator for the state {}
to be thrown when a savepoint can't be mapped to an ExecutionJobVertex, even when the operator hash is explicitly specified.
I believe this logic should be extended to also include UserDefinedOperatorIDs as so:
for (ExecutionJobVertex executionJobVertex : tasks) {
allOperatorIDs.addAll(executionJobVertex.getOperatorIDs());
allOperatorIDs.addAll(executionJobVertex.getUserDefinedOperatorIDs());
}
, please let me know if I am missing something here.