Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    cache update trigger fails listgrid advanced criteria

    On a listgrid with an advanced criteria a row disappears when a form updates the record. The dev console, below, says the
    didn't match filter: {_constructor: "AdvancedCriteria",
    operator: "not", criteria: Array[1]}
    And, the criteria are not that advanced
    { _constructor: "AdvancedCriteria", operator:"not", criteria: [ { fieldName:"TaskStatus", operator:"equals", value:"Completed"} ] }
    The puzzle is that if I restart the application, then the row shows up like it should.

    Code:
    15:13:02.608:MUP5:DEBUG:Log:***END***END***END*** TaskForm.SaveButton.Click
    15:13:04.092:XRP7:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):dataSource data changed firing
    15:13:04.093:XRP7:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):updating cache in place after operationType: update, allMatchingRowsCached true
    15:13:04.094:XRP7:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):Updating cache: operationType 'update' submitted by 'TaskForm',1 rows update data:
    [
    {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
    Description: "Check if a change control form is maybe ..."[94],
    CommunityID: 101,
    TaskID: 103,
    TaskTitle: "Check CC forms",
    TaskDueDate: Date(02/15/2013),
    TaskNumber: 3,
    IssueStatus: "Open",
    IssueID: 102,
    IssueTitle: "Change control form for extension behond..."[59],
    IssueNumber: 2,
    IssueOwner: "Vicki Spencer",
    ProjectNumber: "7633",
    Log: "02/14/2013 15:13: Due changed to Fri Feb..."[90],
    Created: Date(02/14/2013),
    IssueImpact: "5-Catastrophic",
    Modified: Date(02/14/2013),
    TeamMemberName: "Vicki Spencer",
    TaskStatus: "Open",
    OwnerID: 102,
    TASKSTATUS: "Open",
    ProjectID: 101}
    ]
    15:13:04.094:XRP7:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):updated cache: 0 row(s) added, 0 row(s) updated, 0 row(s) removed.
    15:13:04.095:XRP7:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):full length set to: 2
    15:13:04.095:XRP7:DEBUG:ResultSet:isc_ResultSet_16 (created by: taskGridX):dataSource data changed firing
    15:13:04.095:XRP7:INFO:ResultSet:isc_ResultSet_16 (created by: taskGridX):updating cache in place after operationType: update, allMatchingRowsCached true
    15:13:04.097:XRP7:INFO:ResultSet:isc_ResultSet_16 (created by: taskGridX):Updating cache: operationType 'update' submitted by 'TaskForm',1 rows update data:
    [
    {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
    Description: "Check if a change control form is maybe ..."[94],
    CommunityID: 101,
    TaskID: 103,
    TaskTitle: "Check CC forms",
    TaskDueDate: Date(02/15/2013),
    TaskNumber: 3,
    IssueStatus: "Open",
    IssueID: 102,
    IssueTitle: "Change control form for extension behond..."[59],
    IssueNumber: 2,
    IssueOwner: "Vicki Spencer",
    ProjectNumber: "7633",
    Log: "02/14/2013 15:13: Due changed to Fri Feb..."[90],
    Created: Date(02/14/2013),
    IssueImpact: "5-Catastrophic",
    Modified: Date(02/14/2013),
    TeamMemberName: "Vicki Spencer",
    TaskStatus: "Open",
    OwnerID: 102,
    TASKSTATUS: "Open",
    ProjectID: 101}
    ]
    15:13:04.098:XRP7:DEBUG:ResultSet:isc_ResultSet_16 (created by: taskGridX):row dropped:
    {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
    Description: "Check if a change control form is maybe ..."[94],
    CommunityID: 101,
    TaskID: 103,
    TaskTitle: "Check CC forms",
    TaskDueDate: Date(02/15/2013),
    TaskNumber: 3,
    IssueStatus: "Open",
    IssueID: 102,
    IssueTitle: "Change control form for extension behond..."[59],
    IssueNumber: 2,
    IssueOwner: "Vicki Spencer",
    ProjectNumber: "7633",
    Log: "02/14/2013 15:13: Due changed to Fri Feb..."[90],
    Created: Date(02/14/2013),
    IssueImpact: "5-Catastrophic",
    Modified: Date(02/14/2013),
    TeamMemberName: "Vicki Spencer",
    TaskStatus: "Open",
    OwnerID: 102,
    TASKSTATUS: "Open",
    ProjectID: 101}
    didn't match filter: {_constructor: "AdvancedCriteria",
    operator: "not",
    criteria: Array[1]}
    15:13:04.098:XRP7:DEBUG:ResultSet:isc_ResultSet_16 (created by: taskGridX):updated cache: 0 row(s) added, 0 row(s) updated, 1 row(s) removed.
    15:13:04.099:XRP7:DEBUG:ResultSet:isc_ResultSet_16 (created by: taskGridX):full length set to: 3
    15:13:04.101:XRP7:DEBUG:ResultSet:isc_ResultSet_17 (created by: isc_PickListMenu_6):dataSource data changed firing
    15:13:04.101:XRP7:INFO:ResultSet:isc_ResultSet_17 (created by: isc_PickListMenu_6):updating cache in place after operationType: update, allMatchingRowsCached true
    15:13:04.102:XRP7:INFO:ResultSet:isc_ResultSet_17 (created by: isc_PickListMenu_6):Updating cache: operationType 'update' submitted by 'TaskForm',1 rows update data:
    [
    {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
    Description: "Check if a change control form is maybe ..."[94],
    CommunityID: 101,
    TaskID: 103,
    TaskTitle: "Check CC forms",
    TaskDueDate: Date(02/15/2013),
    TaskNumber: 3,
    IssueStatus: "Open",
    IssueID: 102,
    IssueTitle: "Change control form for extension behond..."[59],
    IssueNumber: 2,
    IssueOwner: "Vicki Spencer",
    ProjectNumber: "7633",
    Log: "02/14/2013 15:13: Due changed to Fri Feb..."[90],
    Created: Date(02/14/2013),
    IssueImpact: "5-Catastrophic",
    Modified: Date(02/14/2013),
    TeamMemberName: "Vicki Spencer",
    TaskStatus: "Open",
    OwnerID: 102,
    TASKSTATUS: "Open",
    ProjectID: 101}
    ]
    15:13:04.102:XRP7:DEBUG:ResultSet:isc_ResultSet_17 (created by: isc_PickListMenu_6):updated cache: 0 row(s) added, 1 row(s) updated, 0 row(s) removed.
    15:13:04.104:XRP7:DEBUG:ResultSet:isc_ResultSet_17 (created by: isc_PickListMenu_6):getRange(0, 1) satisfied from cache
    15:13:04.414:RDQ2:DEBUG:ResultSet:isc_ResultSet_16 (created by: taskGridX):getRange(0, 3) satisfied from cache
    I wonder if it has anything to do with the updated record contents with
    TaskStatus: "Open",
    OwnerID: 102,
    TASKSTATUS: "Open",
    I will look into why both TaskStatus and TASKSTATUS are in there. It might be a form problem.

    Curious,

    Rick

    P.S. I am running SmartClient Version: v8.2p_2013-01-14/EVAL Development Only on Mozilla Firefox 12.0 with Firebug using Windows XP Pro 32 bit.

    #2
    Judging from the logs, the criteria must actually not the be the criteria you show (it's too bad the log doesn't show the full criteria, we'll fix that).

    Not the logs show two different grids dealing with the update: one called MyTaskGrid and one called taskGridX. One accepts the row, one rejects it.

    Perhaps the criteria you've shown is the criteria from the grid that accepts the update.

    Comment


      #3
      I put the advanced criteria on all my task grids. Below are dev console entries. As can be seen, I set criteria to not show 'Completed' tasks. I do an update with a form that really doesn't change anything. The status is still 'Open'. Yet, the entries below show that the updated row is dropped even though it still matches the criteria.

      Code:
      17:34:54.701:MDN3[E]:INFO:ResultSet:taskGridX:Creating new isc.ResultSet for operation 'Task_fetch' with filterValues: {
          "_constructor":"AdvancedCriteria", 
          "operator":"not", 
          "criteria":[
              {
                  "fieldName":"TaskStatus", 
                  "operator":"equals", 
                  "value":"Completed"
              }
          ]
      }
      17:34:54.702:MDN3[E]:INFO:ResultSet:isc_ResultSet_19 (created by: taskGridX):setCriteria: filter criteria changed, invalidating cache
      17:34:54.702:MDN3[E]:INFO:ResultSet:isc_ResultSet_19 (created by: taskGridX):Invalidating cache
      17:34:54.708:MDN3[E]:DEBUG:ResultSet:isc_ResultSet_19 (created by: taskGridX):getRange(0,51), cache check: 0,62 firstMissingRow: 0 lastMissingRow: 62
      17:34:54.708:MDN3[E]:DEBUG:ResultSet:isc_ResultSet_19 (created by: taskGridX):getRange: guessing forward scrolling
      17:34:54.708:MDN3[E]:INFO:ResultSet:isc_ResultSet_19 (created by: taskGridX):getRange(0, 51) will fetch from 0 to 75
      17:34:54.709:MDN3[E]:INFO:ResultSet:isc_ResultSet_19 (created by: taskGridX):fetching rows 0,75 from server
      Code:
      17:40:20.407:XRP6:DEBUG:ResultSet:isc_ResultSet_19 (created by: taskGridX):row dropped:
      {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
      Description: "Find out what new requirements have not ..."[126],
      CommunityID: 101,
      TaskID: 105,
      TaskTitle: "Add requirements to TDD",
      TaskNumber: 5,
      IssueStatus: "Open",
      IssueID: 103,
      IssueTitle: "Technical Design Document (TDD) not comp..."[45],
      IssueNumber: 3,
      IssueOwner: "Alfred E. Neuman",
      ProjectNumber: "7633",
      Created: Date(02/17/2013),
      IssueImpact: "5-Catastrophic",
      Modified: Date(02/17/2013),
      TaskStatus: "Open",
      TASKSTATUS: "Open",
      ProjectID: 101}
      didn't match filter: {_constructor: "AdvancedCriteria",
      operator: "not",
      criteria: Array[1]}
      17:40:20.408:XRP6:DEBUG:ResultSet:isc_ResultSet_19 (created by: taskGridX):updated cache: 0 row(s) added, 0 row(s) updated, 1 row(s) removed.
      17:40:20.408:XRP6:DEBUG:ResultSet:isc_ResultSet_19 (created by: taskGridX):full length set to: 4
      I ran a test on the MyTasksGrid. It has the same problem and also has same AdvancedCriteria to omit Completed tasks.

      Code:
      17:34:20.192:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):Received 1 records from server
      17:34:20.192:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):full length set to: 1
      17:34:20.192:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):integrating 1 rows into cache at position 0
      17:34:20.192:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):cached 1 rows, from 0 to 1 (1 total rows, 1 cached)
      17:34:20.193:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):Cache for current criteria complete
      17:34:20.193:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):$391: sorting on properties [IssueImpact] : directions [false] : full cache allows local sort
      17:34:20.229:RDQ3:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):getRange(0, 1) satisfied from cache
      ============================================================================
      18:22:16.770:MUP1:DEBUG:Log:***END***END***END*** TaskForm.SaveButton.Click
      18:23:29.174:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):dataSource data changed firing
      18:23:29.174:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):updating cache in place after operationType: update, allMatchingRowsCached true
      18:23:29.175:XRP1:INFO:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):Updating cache: operationType 'update' submitted by 'TaskForm',1 rows update data:
      [
      {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
      Description: "This issue was received from Universal M..."[155],
      CommunityID: 101,
      TaskID: 101,
      TaskTitle: "Send reply email",
      TaskDueDate: Date(01/18/2013),
      TaskNumber: 1,
      IssueStatus: "Open",
      IssueID: 101,
      IssueTitle: "Off-cycle checks - problem with SSN fiel..."[54],
      IssueNumber: 1,
      IssueOwner: "Richard Bollinger",
      ProjectNumber: "7633",
      Created: Date(02/17/2013),
      IssueImpact: "4-Serious",
      Modified: Date(02/17/2013),
      TeamMemberName: "Richard Bollinger",
      TaskStatus: "Open",
      OwnerID: 101,
      TASKSTATUS: "Open",
      ProjectID: 101}
      ]
      18:23:29.180:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):row dropped:
      {ProjectTitle: "SSN Suppression on checks for Universal ..."[54],
      Description: "This issue was received from Universal M..."[155],
      CommunityID: 101,
      TaskID: 101,
      TaskTitle: "Send reply email",
      TaskDueDate: Date(01/18/2013),
      TaskNumber: 1,
      IssueStatus: "Open",
      IssueID: 101,
      IssueTitle: "Off-cycle checks - problem with SSN fiel..."[54],
      IssueNumber: 1,
      IssueOwner: "Richard Bollinger",
      ProjectNumber: "7633",
      Created: Date(02/17/2013),
      IssueImpact: "4-Serious",
      Modified: Date(02/17/2013),
      TeamMemberName: "Richard Bollinger",
      TaskStatus: "Open",
      OwnerID: 101,
      TASKSTATUS: "Open",
      ProjectID: 101}
      didn't match filter: {_constructor: "AdvancedCriteria",
      operator: "and",
      criteria: Array[2]}
      18:23:29.180:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):updated cache: 0 row(s) added, 0 row(s) updated, 1 row(s) removed.
      18:23:29.180:XRP1:DEBUG:ResultSet:isc_ResultSet_6 (created by: MyTaskGrid):full length set to: 0
      There is nothing in the server log. It just shows the one update operation on the Task table. I wonder if the parent/child relation that also applies is interfering. Each task has an IssueID for the issue that owns it.

      Meanwhile, I will be starting to show my application around. Parts are still not finished. But, I would like to avoid having to explain this effect.

      Let me know what else I can do to help fix this.

      Thanks,

      Rick

      Comment


        #4
        You've got these two disconnected logs, one of which doesn't actually show the criteria in use, so we can't tell if the criteria have been changed between the first log and second.

        We've modified the logging in 8.3 so it will show the full criteria in this case - if you download a new build you can get a log which will show definitely whether the criteria are being applied correctly.

        Comment


          #5
          Ouch! I am thinking about it. I would love to help you all. But, I do not understand all the difference between 8.2 and 8.3 or what might break in my application with the change.

          I do not believe that the criteria change while out of sight. However, I cannot prove it and I can understand hesitance to pursue fixing without such proof.

          Can we each do a little? I will look at the differences and effort to make the change. Maybe you can take a quick look at what might cause the problem.

          One aspect I noticed, when advanced criteria are evidenced in the server logs, that simple field=value terms are augmented with AND field NOT = null terms. So, I can sense the complexity into which a search would wade.

          Thanks,

          Rick

          Comment


            #6
            8.3 is backwards compatible with 8.2.

            You should always be using the latest release version any time you are doing new development, since older versions do not generally get updated with changes required for browsers released after they were released.

            We've already got hundreds of autotests verifying all aspects of the criteria system, including this combination of operators, so there's not really a further investigation we can do into why this is happening - we need to see the actual criteria involved, or we need code we can run to reproduce an issue.

            Comment


              #7
              For some reason, all my grids are now not losing rows when I update from them using a form. I cannot explain it. I have made some changes, of course, but not globally. It might be the change from a clientOnly datasource to a resultSet on the same source dataSource.

              Any way, I have a scheme to update my dynamic three level grid rows when a form is opened up on them. I need to communicate between them so that form update log entries mention that changes happened in the context of the meeting.

              Well, I am going to pinch myself and chalk this up to clean living. (I will be keeping an eye out for its reappearance.)

              Thanks. And, I will be trading up to 8.3 in the near future. Maybe, after I demo the software around a bit.

              Rick

              Comment

              Working...
              X