If I update an operation definition, specifically, if I changed the name of an existing operation, the plugin metadata manager will treat this as a new operation with the "old" operation (with the previous name) needing to be deleted. However, to delete, it means that operation must not have any operation history rows related to it. If the old operation has been invoked before and the operation history still exists, a constraint violation will occur when the deletion is attempted. Need to move the relationship of the history rows to point to the new operation definition so the old op definition can be deleted.
The name is the key, so if you change the name the system has to assume the old one is deleted and this is a new one. My idea would be to have old operations be marked "obsolete" instead of trying to delete them. Then we can keep the history available, but filter them from the runnable operations.
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-917
Temporarily adding the keyword "SubBug" so we can be sure we have accounted for all the bugs. keyword: new = Tracking + FutureFeature + SubBug
making sure we're not missing any bugs in rhq_triage
Closing, works as expected