Bug 824778

Summary: Schedules cannot be deleted
Product: [Other] RHQ Project Reporter: vlad crc <vlad.craciunoiu>
Component: Core ServerAssignee: Lukas Krejci <lkrejci>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: low Docs Contact:
Priority: urgent    
Version: 4.4CC: hrupp, jshaughn, lkrejci
Target Milestone: ---   
Target Release: RHQ 4.5.0   
Hardware: All   
OS: Linux   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=787239
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 825173 (view as bug list) Environment:
Last Closed: 2013-09-01 05:59:29 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 782579, 825173    
Attachments:
Description Flags
evidence of reproducibility none

Description vlad crc 2012-05-24 05:02:07 EDT
Description of problem:
A schedule created in RHQ Resource/Operations/Schedules once created cannot be deleted.

Version-Release number of selected component (if applicable):
4.4

How reproducible:
Always

Steps to Reproduce:
1. In the resource browser select a JBoss server (or anything else, a queue etc).
2. Go to Operations/Schedules/New and create a schedule.
3. Then try to delete it
  
Actual results:
The message in Message center is: "Failure in datasource while processing REMOVE request.". Stack trace from Message Center added below to additional info.

Expected results:
The schedule should be successfully deleted.

Additional info:


Detail :	

java.lang.ClassCastException:null
--- STACK TRACE FOLLOWS ---
null
   at Unknown.java_lang_ClassCastException_ClassCastException__V(Unknown Source)
   at Unknown.com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleDataSource_$copyValues__Lorg_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleDataSource_2Lcom_smartgwt_client_data_Record_2Lorg_rhq_core_domain_operation_bean_OperationSchedule_2(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_resource_detail_operation_schedule_ResourceOperationScheduleDataSource_executeRemove__Lcom_smartgwt_client_data_Record_2Lcom_smartgwt_client_data_DSRequest_2Lcom_smartgwt_client_data_DSResponse_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_util_RPCDataSource_transformRequest__Lcom_smartgwt_client_data_DSRequest_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.com_google_gwt_core_client_impl_Impl_apply__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.isc_DataSource_getServiceInputs(Unknown Source)
   at Unknown.isc_DataSource_sendDSRequest(Unknown Source)
   at Unknown.isc_DataSource_performDSOperation(Unknown Source)
   at Unknown.isc_Canvas_deleteRecords(Unknown Source)
   at Unknown.isc_Canvas_removeSelectedData(Unknown Source)
   at Unknown.com_smartgwt_client_widgets_grid_ListGrid_$removeSelectedData__Lcom_smartgwt_client_widgets_grid_ListGrid_2Lcom_smartgwt_client_data_DSCallback_2Lcom_smartgwt_client_data_DSRequest_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_components_table_Table_$deleteSelectedRecords__Lorg_rhq_enterprise_gui_coregui_client_components_table_Table_2Lcom_smartgwt_client_data_DSRequest_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleListView$2_executeAction___3Lcom_smartgwt_client_widgets_grid_ListGridRecord_2Ljava_lang_Object_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_components_table_Table$2$1_execute__Ljava_lang_Boolean_2V(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.isc_c_Class_fireCallback(Unknown Source)
   at Unknown.isc_Class_fireCallback(Unknown Source)
   at Unknown.isc_c_Class_fireCallback(Unknown Source)
   at Unknown.isc_c_Timer__fireTimeout(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.anonymous(Unknown Source)
Comment 1 Charles Crouch 2012-05-24 13:25:55 EDT
This could be related to bug 787239
Comment 3 Mike Foley 2012-05-24 13:40:59 EDT
reproduced JON 3.1 ER4.  screenshot attached to document the repro.
Comment 4 Mike Foley 2012-05-24 13:41:32 EDT
Created attachment 586676 [details]
evidence of reproducibility
Comment 5 Mike Foley 2012-05-24 13:42:35 EDT
error in message center ...

Failure in datasource while processing REMOVE request.
Severity :	
Error
	
Time :	
Thursday, May 24, 2012 1:39:50 PM UTC-4
Detail :	

java.lang.ClassCastException:null
--- STACK TRACE FOLLOWS ---
null
   at Unknown.java_lang_ClassCastException_ClassCastException__V(Unknown Source)
   at Unknown.com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleDataSource_$copyValues__Lorg_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleDataSource_2Lcom_smartgwt_client_data_Record_2Lorg_rhq_core_domain_operation_bean_OperationSchedule_2(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_resource_detail_operation_schedule_ResourceOperationScheduleDataSource_executeRemove__Lcom_smartgwt_client_data_Record_2Lcom_smartgwt_client_data_DSRequest_2Lcom_smartgwt_client_data_DSResponse_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_util_RPCDataSource_transformRequest__Lcom_smartgwt_client_data_DSRequest_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.com_google_gwt_core_client_impl_Impl_apply__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.isc_DataSource_getServiceInputs(Unknown Source)
   at Unknown.isc_DataSource_sendDSRequest(Unknown Source)
   at Unknown.isc_DataSource_performDSOperation(Unknown Source)
   at Unknown.isc_Canvas_deleteRecords(Unknown Source)
   at Unknown.isc_Canvas_removeSelectedData(Unknown Source)
   at Unknown.com_smartgwt_client_widgets_grid_ListGrid_$removeSelectedData__Lcom_smartgwt_client_widgets_grid_ListGrid_2Lcom_smartgwt_client_data_DSCallback_2Lcom_smartgwt_client_data_DSRequest_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_components_table_Table_$deleteSelectedRecords__Lorg_rhq_enterprise_gui_coregui_client_components_table_Table_2Lcom_smartgwt_client_data_DSRequest_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_common_detail_operation_schedule_AbstractOperationScheduleListView$2_executeAction___3Lcom_smartgwt_client_widgets_grid_ListGridRecord_2Ljava_lang_Object_2V(Unknown Source)
   at Unknown.org_rhq_enterprise_gui_coregui_client_components_table_Table$2$1_execute__Ljava_lang_Boolean_2V(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.isc_c_Class_fireCallback(Unknown Source)
   at Unknown.isc_Class_fireCallback(Unknown Source)
   at Unknown.isc_c_Class_fireCallback(Unknown Source)
   at Unknown.isc_c_Timer__fireTimeout(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.anonymous(Unknown Source)
Comment 6 Lukas Krejci 2012-05-25 10:42:05 EDT
This is UI specific bug.

The backend seems to work correctly and removal of a schedule works through CLI as:

var schedules = OperationManager.findScheduledResourceOperations(<RESOURCE_ID);
var schedule = schedules.get(0); //or just select the one you need
OperationManager.unscheduleResourceOperation(schedule.jobId, <RESOURCE_ID>);
Comment 7 Charles Crouch 2012-05-25 13:00:20 EDT
This still requires triage BEFORE anything hits the release branch
Comment 8 Jay Shaughnessy 2012-05-25 13:29:10 EDT
master commit 9cb619f40a3cc7609989e9890a1da1f2c8b95273

This was odd. (nod to lkrejci for doing original analysis)
SmartGWT for whatever reason seemed to be getting confused
as to what sort of object that SubjectRecord was. It seems to stem from
setting a ListGrid "object" as an attribute on a ListGridRecord. Perhaps
under the covers it is sometimes a Java object and sometimes a javascript
object. Either way, remove the use of it completely and just use simple
attributes to store the subject name and id.  It adds an attribute but
overall simplfies things (and, as a bonus, works).

Test Notes:
Ensure add and remove are working, as well as the list view "owner" column.
Comment 9 Heiko W. Rupp 2013-09-01 05:59:29 EDT
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.