Hi Isomorphic,
I noticed a serious bug in v10.1p_2015-12-10/PowerEdition (happend in 5.0p as well) with the way a ResultSet decides if it needs to contact the server regarding and plus or criteria.
Please see this Developer Console logs (ResultSet: INFO, ListGrid: DEBUG):
I have three modes:
Without LEADTEMPERATURE_ID (which is entered by the user in the FilterRow), the three modes are:
As this is deep in my application and most likely hard to reproduce it would be great if you already have an idea where to look from the logs I provided.
If you don't, but agree that this is highly suspicious / most likely a bug, I'll try to create a BuiltInDS-based testcase.
Best regards
Blama
I noticed a serious bug in v10.1p_2015-12-10/PowerEdition (happend in 5.0p as well) with the way a ResultSet decides if it needs to contact the server regarding and plus or criteria.
Please see this Developer Console logs (ResultSet: INFO, ListGrid: DEBUG):
Code:
13:42:11.028:MDN8:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 } ] } 13:42:11.046:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, invalidating cache 13:42:11.057:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Invalidating cache 13:42:11.073:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:42:11.190:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:42:11.224:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:42:11.235:MDN8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):fetching rows 0,1000 from server 13:42:11.939:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Received 2 records from server 13:42:11.953:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Fetch request returned range 0,2 differs from requested range 0,1000. Assuming client/server batch size mismatch and clearing loading markers greater than 2 13:42:11.964:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):cached 2 rows, from 0 to 2 (2 total rows, 2 cached) 13:42:11.975:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Cache for current criteria complete 13:42:11.986:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 13:42:16.343:ICHG1:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 }, { "operator":"or", "criteria":[ { "operator":"equals", "fieldName":"CREATED_BY", "value":1083 }, { "fieldName":"CREATED_BY_COMPANY_ID", "operator":"equals", "value":1 } ] } ], "_constructor":"AdvancedCriteria" } [B]13:42:16.438:ICHG1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria unchanged[/B] 13:44:08.497:ICHG8:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 }, { "operator":"equals", "fieldName":"CREATED_BY", "value":1083 } ], "_constructor":"AdvancedCriteria" } 13:44:08.552:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, invalidating cache 13:44:08.563:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Invalidating cache 13:44:08.579:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:08.692:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:08.721:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:08.732:ICHG8:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):fetching rows 0,1000 from server 13:44:15.258:XRP0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Received 2 records from server 13:44:15.271:XRP0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Fetch request returned range 0,2 differs from requested range 0,1000. Assuming client/server batch size mismatch and clearing loading markers greater than 2 13:44:15.281:XRP0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):cached 2 rows, from 0 to 2 (2 total rows, 2 cached) 13:44:15.292:XRP0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Cache for current criteria complete 13:44:15.303:XRP0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 13:44:24.271:ICHG5:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 } ] } 13:44:24.286:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, invalidating cache 13:44:24.297:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Invalidating cache 13:44:24.312:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:24.413:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:24.442:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:24.453:ICHG5:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):fetching rows 0,1000 from server 13:44:25.054:XRP1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Received 2 records from server 13:44:25.066:XRP1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Fetch request returned range 0,2 differs from requested range 0,1000. Assuming client/server batch size mismatch and clearing loading markers greater than 2 13:44:25.076:XRP1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):cached 2 rows, from 0 to 2 (2 total rows, 2 cached) 13:44:25.086:XRP1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Cache for current criteria complete 13:44:25.097:XRP1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 13:44:30.664:ICHG9:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 }, { "operator":"equals", "fieldName":"CREATED_BY", "value":1083 } ], "_constructor":"AdvancedCriteria" } [B]13:44:30.705:ICHG9:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria unchanged[/B] 13:44:34.456:ICHG0:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"and", "criteria":[ { "fieldName":"LEADTEMPERATURE_ID", "operator":"equals", "value":19 }, { "operator":"or", "criteria":[ { "operator":"equals", "fieldName":"CREATED_BY", "value":1083 }, { "fieldName":"CREATED_BY_COMPANY_ID", "operator":"equals", "value":1 } ] } ], "_constructor":"AdvancedCriteria" } 13:44:34.509:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, invalidating cache 13:44:34.520:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Invalidating cache 13:44:34.535:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:34.639:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:34.669:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):getRange(0, 1000) will fetch from 0 to 1000 13:44:34.679:ICHG0:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):fetching rows 0,1000 from server 13:44:43.428:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Received 2 records from server 13:44:43.438:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Fetch request returned range 0,2 differs from requested range 0,1000. Assuming client/server batch size mismatch and clearing loading markers greater than 2 13:44:43.449:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):cached 2 rows, from 0 to 2 (2 total rows, 2 cached) 13:44:43.459:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):Cache for current criteria complete 13:44:43.471:XRP3:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort
- Filter LEADTEMPERATURE_ID plus OR-Crit (CREATED_BY / CREATED_BY_COMPANY_ID)
- Filter LEADTEMPERATURE_ID plus CREATED_BY
- Filter LEADTEMPERATURE_ID only
Without LEADTEMPERATURE_ID (which is entered by the user in the FilterRow), the three modes are:
- Filter OR-Crit (CREATED_BY / CREATED_BY_COMPANY_ID)
- Filter CREATED_BY
- Filter no Criteria
Code:
14:47:49.342:ICHG6:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { } 14:47:49.383:ICHG6:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, performing local filtering 14:47:49.400:ICHG6:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 14:48:13.764:ICHG6:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"or", "criteria":[ { "operator":"equals", "fieldName":"CREATED_BY", "value":1083 }, { "fieldName":"CREATED_BY_COMPANY_ID", "operator":"equals", "value":1 } ], "_constructor":"AdvancedCriteria" } 14:48:13.779:ICHG6:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, performing local filtering 14:48:13.811:ICHG6:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 14:48:28.521:ICHG1:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { } 14:48:28.539:ICHG1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, performing local filtering 14:48:28.554:ICHG1:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort 14:48:43.465:ICHG7:DEBUG:ListGrid:ListGrid_inCreation:Setting filter to: { "operator":"equals", "fieldName":"CREATED_BY", "value":1083, "_constructor":"AdvancedCriteria" } 14:48:43.480:ICHG7:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):setCriteria: filter criteria changed, performing local filtering 14:48:43.499:ICHG7:INFO:ResultSet:isc_ResultSet_0 (dataSource: V_LEAD_INCREATION, created by: ListGrid_inCreation):$391: sorting on properties [MISSINGINFORMATION,CAMPAIGN_NAME] : directions [true,true] : full cache allows local sort
If you don't, but agree that this is highly suspicious / most likely a bug, I'll try to create a BuiltInDS-based testcase.
Best regards
Blama
Comment