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

        Mike M Pestorich created issue -
        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 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 -
        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/%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.
        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.
        Howard M. Lewis Ship made changes -
        Assignee Howard M. Lewis Ship [ hlship ]
        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 -
        Status Open [ 1 ] In Progress [ 3 ]
        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 In Progress [ 3 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Howard M. Lewis Ship made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        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 -
        Fix Version/s 5.3 [ 12316024 ]
        Fix Version/s 5.3.0 [ 12316023 ]

          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