Tapestry 5
  1. Tapestry 5
  2. TAP5-1208

In development mode, Tapestry should "shadow" field & parameter values to instance variables, to assist with debugging

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.3, 5.2
    • Fix Version/s: 5.3, 5.2.5
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Since Tapestry 5.2 and the end of page pooling, all mutable field state (unclaimed fields, parameter fields, persisted fields, etc.) have their values stored in an external, per-thread HashMap, which allows page instances (along with components within pages) to be shared across threads.

      However, when debugging, all those fields are still present but have null (or default) values.

      When in development mode, it would be great if reading or writing to the fields would "shadow" the value into the field, as well as do the other updates (moving the content to or from the HashMap, etc.).

      This would be pointless in production mode (the instance fields would be constantly overwritten by multiple threads) and possibly introduce memory leaks (as temporary objects would be referenced from the fields). However, quite reasonable to do this for development mode.

      Improvement related to May 2010 thread: [T5] debugging in eclipse
      http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

      As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

      Actually, in my experience, this used to be the case but now with the most recent snapshots I can't even do that.

      Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

      http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

      I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        209d 11h 27m 1 Howard M. Lewis Ship 11/Feb/11 10:03
        In Progress In Progress Closed Closed
        25d 17h 50m 1 Howard M. Lewis Ship 09/Mar/11 03:54
        Closed Closed Reopened Reopened
        5s 1 Howard M. Lewis Ship 09/Mar/11 03:54
        Reopened Reopened Closed Closed
        39s 1 Howard M. Lewis Ship 09/Mar/11 03:54
        Howard M. Lewis Ship made changes -
        Fix Version/s 5.3 [ 12316024 ]
        Fix Version/s 5.3.0 [ 12316023 ]
        Howard M. Lewis Ship made changes -
        Status Reopened [ 4 ] Closed [ 6 ]
        Fix Version/s 5.3.0 [ 12316023 ]
        Fix Version/s 5.2.5 [ 12315565 ]
        Resolution Fixed [ 1 ]
        Howard M. Lewis Ship made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Howard M. Lewis Ship made changes -
        Status In Progress [ 3 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Hide
        Howard M. Lewis Ship added a comment -

        As soon as I overcome my Git/SVN problem and can backport this to the maint-5-2 branch, we'll close this bug and start a vote on 5.2.5.

        Show
        Howard M. Lewis Ship added a comment - As soon as I overcome my Git/SVN problem and can backport this to the maint-5-2 branch, we'll close this bug and start a vote on 5.2.5.
        Hide
        Hudson added a comment -

        Integrated in tapestry-5.2-freestyle #266 (See https://hudson.apache.org/hudson/job/tapestry-5.2-freestyle/266/)

        Show
        Hudson added a comment - Integrated in tapestry-5.2-freestyle #266 (See https://hudson.apache.org/hudson/job/tapestry-5.2-freestyle/266/ )
        Howard M. Lewis Ship made changes -
        Summary Debugging in Tapestry 5.2 In development mode, Tapestry should "shadow" field & parameter values to instance variables, to assist with debugging
        Description Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this used to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Since Tapestry 5.2 and the end of page pooling, all mutable field state (unclaimed fields, parameter fields, persisted fields, etc.) have their values stored in an external, per-thread HashMap, which allows page instances (along with components within pages) to be shared across threads.

        However, when debugging, all those fields are still present but have null (or default) values.

        When in development mode, it would be great if reading or writing to the fields would "shadow" the value into the field, as well as do the other updates (moving the content to or from the HashMap, etc.).

        This would be pointless in production mode (the instance fields would be constantly overwritten by multiple threads) and possibly introduce memory leaks (as temporary objects would be referenced from the fields). However, quite reasonable to do this for development mode.


        Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this used to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Howard M. Lewis Ship made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Howard M. Lewis Ship made changes -
        Affects Version/s 5.3 [ 12316024 ]
        Affects Version/s 5.2.0 [ 12314122 ]
        Priority Minor [ 4 ] Major [ 3 ]
        Component/s tapestry-core [ 12312470 ]
        Component/s tapestry-ioc [ 12312469 ]
        Howard M. Lewis Ship made changes -
        Assignee Howard M. Lewis Ship [ hlship ]
        Mike M Pestorich made changes -
        Description Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this used to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Mike M Pestorich made changes -
        Description Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E].

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Mike M Pestorich made changes -
        Description Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify [UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.

        [Atlassian|http://atlassian.com]
        Improvement related to May 2010 thread: [T5] debugging in eclipse
        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify UncaimedFieldWorker.

        http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E].

        I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Mike M Pestorich made changes -
        Description Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify [UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify [UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.

        [Atlassian|http://atlassian.com]
        Mike M Pestorich made changes -
        Description Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/<AANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com>].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to [modify UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/<AANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com>]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to modify [UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Mike M Pestorich made changes -
        Field Original Value New Value
        Description Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com%3E].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to [modify UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/%3CAANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com%3E]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Improvement related to May 2010 thread: [T5 debugging in eclipse|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/<AANLkTinOfXeSmALOYxzR-OSd4uZwTDC_Qt1j4igZgVFP@mail.gmail.com>].

        As noted in the thread, values can only be seen when debugging by inspecting the related conduit due to the class transformation that takes place behind the scenes.

        Actually, in my experience, this use to be the case but now with the most recent snapshots I can't even do that.

        Later on in the thread a suggestion is made to [modify UncaimedFieldWorker|http://mail-archives.apache.org/mod_mbox/tapestry-users/201005.mbox/<AANLkTimTAtLKsZbYntUm2pwN70KiwnnwlwJr4gmWL9V3@mail.gmail.com>]. I don't know if this is correct or not but I would think that this would be a useful improvement over the way things currently work.
        Mike M Pestorich created issue -

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Mike M Pestorich
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development