> what would be the fix?
Let's see the network traffic first. It's like asking your doctor for
medicine before telling him your symptoms ;)
 On 14 Jun 2014 18:58, "Boris Horvat" <horvat.z.bo...@gmail.com> wrote:

> Here is the url - http://postimg.org/image/b74chvzr7/
>
> I will try to monitor the network traffic, but does you theory explains why
> refreshing the page doesn't fix the issue? Could it be that the session is
> lost forever?
> If I am able to confirm this scenario, what would be the fix? Would it work
> if we broadcast with some delay?
>
>
>
> On Sat, Jun 14, 2014 at 7:41 PM, Lance Java <lance.j...@googlemail.com>
> wrote:
>
> > > (I hope images can be displayed in this way)
> > Nope, attachments don't work here (links do).
> >
> > > What class has replaced this implementation in the 0.9.18?
> > In 0.9.18, the offline rendering was moved into it's own module
> > (tapestry-offline)
> > The class that does the rendering now is OfflineComponentRendererImpl
> >
> >
> https://github.com/uklance/tapestry-offline/blob/master/src/main/java/org/lazan/t5/offline/services/internal/OfflineComponentRendererImpl.java
> >
> > > Also could code like this cause this kind of issue?
> > If updatedProfilePage is marked with @Persist, then yes
> >
> > Here's what I'd expect
> > 1. A tapestry request request comes in for your page with JSESSIONID=XXX
> > 2. As the page renders, it fires a cometd request with JSESSIONID=XXX,
> > BAYEUX_BROWSER=YYY
> > 3. All future cometd requests should have JSESSIONID=XXX,
> > BAYEUX_BROWSER=YYY
> >
> > It's probably easiest to watch the traffic in the developer tools in your
> > browser (network traffic).
> > I'm guessing somewhere along the way, one of the session id's is getting
> > lost.
> >
> >
> >
> > On 14 June 2014 16:34, Boris Horvat <horvat.z.bo...@gmail.com> wrote:
> >
> > > From what I can see the JSESSIONID is never changed, but I never seen
> > > BAYEUX_BROWSER being passed.
> > >
> > > In the class ComponentJSONRendererImpl I can see only 1 cookie
> > >
> > > [image: Inline image 1]
> > >
> > > (I hope images can be displayed in this way)
> > >
> > > What class has replaced this implementation in the 0.9.18?
> > >
> > > Also could code like this cause this kind of issue?
> > >
> > >   <t:cometd.PushTarget topic="prop:channelMenuItems"
> > > event="updateMenuItems" update="replace" session="true"/>
> > >   <t:block t:id="blockGroupNotificationNumber"> stuff </t:block>
> > >
> > >     @OnEvent("updateMenuItems")
> > >     Block onUpdateMenuItems(ProfilePage profilePage) {
> > >         this.updatedProfilePage = profilePage;
> > >         // Added script for updating menu items badges because of push
> > > notification
> > >         ajaxResponseRenderer.addCallback(new JavaScriptCallback() {
> > >             public void run(JavaScriptSupport jss) {
> > >                 jss.addInitializerCall("removeElementById",
> > > "menuItemsDiv");
> > >             }
> > >         });
> > >         return blockGroupNotificationNumber;
> > >     }
> > >
> > >
> > > T5.initializers.removeElementById = function(id) {
> > >     var element = document.getElementById(id);
> > >     element.parentNode.removeChild(element);
> > > }
> > >
> > > On Sat, Jun 14, 2014 at 4:13 PM, Lance Java <lance.j...@googlemail.com
> >
> > > wrote:
> > >
> > >> There's a bit too much info there for me to grok without much context.
> > >>
> > >> Watch these two cookies:
> > >> JSESSIONID=6C36330F5F8519937A9620B276E9C219;
> > >> BAYEUX_BROWSER=a43f-14stwrta3yd8bhwep00t3wfz
> > >>
> > >> For all requests, make sure their values are consistent and don't
> > change.
> > >>
> > >> Also, what's this?
> > >>
> > >>
> > >>
> > >>
> >
> java.util.concurrent.ExecutionException%3A%20java.lang.RuntimeException%3A%20org.apache.tapestry5.runtime.ComponentEventException%3A%20Render%20queue%20error%20in%20BeginRender%5Bblackbox%2FAssets%3Aheader.menuprofile.if_1%5D%3A%20Failure%20reading%20parameter%20%27test%27%20of%20component%20blackbox%2FAssets%3Aheader.menuprofile.if_1%3A%20%21session%20%5Bat%20classpath%3Acom%2Fbomahabo%2Fflow%2Ftapestry%2Fcomponents%2Flayout%2FMenuProfile.tml%2C%20line%204%5D
> > >>  On 14 Jun 2014 11:09, "Boris Horvat" <horvat.z.bo...@gmail.com>
> wrote:
> > >>
> > >> > Well it is cookie bases session. This happens in the application
> that
> > we
> > >> > run in local jetty as well as on amazon hosted tomcat (each time
> > single
> > >> > server is being used)
> > >> >
> > >> > When the request is made and page is refreshed I can see the
> following
> > >> data
> > >> > in the network section. From my understanding of the below data
> cookie
> > >> is
> > >> > being passed
> > >> >
> > >> >
> > >> >    1. Remote Address:
> > >> >    46.137.121.29:80
> > >> >    2. Request URL:
> > >> >    http://qa.flow-manager.com/assets.formcreateasset
> > >> >    3. Request Method:
> > >> >    POST
> > >> >    4. Status Code:
> > >> >    500 Internal Server Error
> > >> >    5. Request Headersview source
> > >> >       1. Accept:
> > >> >
> > >> >
> > >> >
> > >>
> >
> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
> > >> >       2. Accept-Encoding:
> > >> >       gzip,deflate,sdch
> > >> >       3. Accept-Language:
> > >> >       en-GB,en;q=0.8,en-US;q=0.6
> > >> >       4. Cache-Control:
> > >> >       max-age=0
> > >> >       5. Connection:
> > >> >       keep-alive
> > >> >       6. Content-Length:
> > >> >       2318
> > >> >       7. Content-Type:
> > >> >       multipart/form-data;
> > >> boundary=----WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       8. Cookie:
> > >> >       JSESSIONID=6C36330F5F8519937A9620B276E9C219;
> > >> >       BAYEUX_BROWSER=a43f-14stwrta3yd8bhwep00t3wfz
> > >> >       9. Host:
> > >> >       qa.flow-manager.com
> > >> >       10. Origin:
> > >> >       http://qa.flow-manager.com
> > >> >       11. Referer:
> > >> >       http://qa.flow-manager.com/assets
> > >> >       12. User-Agent:
> > >> >       Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,
> > >> like
> > >> >       Gecko) Chrome/35.0.1916.114 Safari/537.36
> > >> >       6. Request Payload
> > >> >       1. ------WebKitFormBoundaryihPoozZSG4dtBo6N
> Content-Disposition:
> > >> >       form-data; name="t:formdata"
> > >> >
> > >> >
> > >>
> >
> C9nX/WAHQFhLKBNcBCAk2Eo8yUk=:H4sIAAAAAAAAAM2XTWgTQRTHp6kVbUupRYuU4hf1UDDbnWQ3u1FEitIihFYaFLxYJskkrt3srDuzJiJ4tQcvevEmCN78OOjBWw/tQZqDF8W74FUQC56sdDdbk1I3mUlsU0/LzLz35rfz/jNv5uU30FMaBSMZE2UXMqQ8MUkpZvSsTWzXlkxCbOoAiTgFCdkoexNLDNmYMueuKmWJg00j432LNrGwxaiU8uzH1Ojs6udxcG81AkDZ3uHg8PrXV2v5dx+fiQWfaSn4nDfuDaUZYnjKIcW038pdNA3P5BoyXRx9svxpEZxYj4CuFOjL1gcYGErdQnfQhImswkSaOYZVOFe2GTgU1VQ1GYfJhAaVhKoo8dIxMNqYeV6+De6DLhGjbp4R9a32bWfQYEzleEIRBijCAEMZNFmJx0snwfFwT4bLLG9gM+clUG2awAyiWJrMeJ0oy6Z8l7E0Zq59+upK35cj739t5olYzCHmDCpin6bHz8vB2iRiHJOtclxxSBZTmnYzRYNSg1grr3NK/ufTD4FwecvW6r5Qftj58enhFxd2J3xCHvyu33j+8LxI+Ko6h9pSpxZToL7X6kzIqpA6fed+BvpqPfOygJvvNShCz1vBqtHhXcyFpqjKHudCj8FEkxPTtU2CaonYHzR55v9jAoJITatZEIdrEhrFQTmDFBzi+jVRF935c77XtO8VnKqP5KUzbwfWlhufqr31ibgYShsYsFKuVN6k15eCY+goGN4+RXU59UCVTYe7Gw//UWIEJsP+wgOutje3jSe83npXc4dAek25hgS4YpoYV3+9qzNkXUrrYLAjYIKZ3AoW6wiY3jpYvCMiUzmJCSPjpH+nyDhaDiNTO0IG29B/oiMy4/x/GBjnkNkhsDZUxtky/wYW1NAxcKpBmTWsBerf6ZnH5oBLwrdoz6/6FmB/vwxmjcXHv0ceWNW6eiB4VV7O1YrqwNY55+UNeSn//bIPAAA=
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="textfield" dddssddsd
> > >> ------WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       Content-Disposition: form-data; name="textfield_0"
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="upload"; filename="" Content-Type:
> > application/octet-stream
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="t:formdata" ------WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       Content-Disposition: form-data; name="containerAsset"
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="checkbox_0" on ------WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       Content-Disposition: form-data; name="checkbox_0_1" on
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="checkbox_0_2" on
> ------WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       Content-Disposition: form-data; name="checkbox_0_3" on
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N Content-Disposition:
> > >> > form-data;
> > >> >       name="checkbox_0_6" on
> ------WebKitFormBoundaryihPoozZSG4dtBo6N
> > >> >       Content-Disposition: form-data; name="t:submit"
> > >> > ["linksubmit_0_0",null]
> > >> >       ------WebKitFormBoundaryihPoozZSG4dtBo6N--
> > >> >    7. Response Headersview source
> > >> >       1. Connection:
> > >> >       keep-alive
> > >> >       2. Content-Encoding:
> > >> >       gzip
> > >> >       3. Content-Type:
> > >> >       text/html;charset=UTF-8
> > >> >       4. Date:
> > >> >       Sat, 14 Jun 2014 09:00:14 GMT
> > >> >       5. Server:
> > >> >       Apache-Coyote/1.1
> > >> >       6. transfer-encoding:
> > >> >       chunked
> > >> >       7. X-Tapestry-ErrorMessage:
> > >> >
> > >> >
> > >> >
> > >>
> >
> java.util.concurrent.ExecutionException%3A%20java.lang.RuntimeException%3A%20org.apache.tapestry5.runtime.ComponentEventException%3A%20Render%20queue%20error%20in%20BeginRender%5Bblackbox%2FAssets%3Aheader.menuprofile.if_1%5D%3A%20Failure%20reading%20parameter%20%27test%27%20of%20component%20blackbox%2FAssets%3Aheader.menuprofile.if_1%3A%20%21session%20%5Bat%20classpath%3Acom%2Fbomahabo%2Fflow%2Ftapestry%2Fcomponents%2Flayout%2FMenuProfile.tml%2C%20line%204%5D
> > >> >
> > >> >
> > >> >
> > >> > On Sat, Jun 14, 2014 at 8:25 AM, Lance Java <
> > lance.j...@googlemail.com>
> > >> > wrote:
> > >> >
> > >> > > Are you using cookie based session or url based?
> > >> > >
> > >> > > Try inspecting the network traffic and ensure the cookie is being
> > >> passed
> > >> > > each time.
> > >> > >
> > >> > > Is this a clustered setup?
> > >> > >  On 14 Jun 2014 01:35, "Boris Horvat" <horvat.z.bo...@gmail.com>
> > >> wrote:
> > >> > >
> > >> > > > Hi Lance, I am not sure what you mean by
> > >> > > >
> > >> > > >
> > >> > > > One restriction with tapestry-cometd and HttpSession is that the
> > >> > session
> > >> > > > > cannot be created by the async action. I'm guessing that the
> > push
> > >> > > action
> > >> > > > > requires the session, but it doesn't exist yet.
> > >> > > > >
> > >> > > >
> > >> > > > The session should already exist by this point given that it
> > didn't
> > >> > > trigger
> > >> > > > this exception for the first half a dozen of runs, so only after
> > >> couple
> > >> > > of
> > >> > > > button clicks that send the push notification we run into this.
> > >> > > > Any idea how could the session be closed by this time?
> > >> > > >
> > >> > > > Does it matter if the push broadcasting happens in one component
> > and
> > >> > > event
> > >> > > > handle in another? I assume not and also like I said it worked
> for
> > >> the
> > >> > > > first few clicks.
> > >> > > >
> > >> > > > Any ideas?
> > >> > > >
> > >> > > > Thanks
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > >
> > >> > > > > Admittedly the error message could be nicer than "!session"
> > >> > > > > On 13 Jun 2014 15:36, "Boris Horvat" <
> horvat.z.bo...@gmail.com>
> > >> > wrote:
> > >> > > > >
> > >> > > > > > Hi everyone, I have implemented a tapestry-cometd
> integration
> > >> > > > > >
> > >> > > > > >         <dependency>
> > >> > > > > >             <groupId>org.lazan</groupId>
> > >> > > > > >             <artifactId>tapestry-cometd</artifactId>
> > >> > > > > >             <version>0.9.17</version>
> > >> > > > > >         </dependency>
> > >> > > > > >
> > >> > > > > > Our usage of the component is
> > >> > > > > >
> > >> > > > > >   <t:cometd.PushTarget topic="prop:channelMenuItems"
> > >> > > > > > event="updateMenuItems" update="replace" session="true"/>
> > >> > > > > >
> > >> > > > > > and in UAT environment that runs under Tomcat I got the
> > >> following
> > >> > > > > > exception.
> > >> > > > > >
> > >> > > > > > java.lang.IllegalStateException
> > >> > > > > > !session
> > >> > > > > > Filter stack framesStack trace
> > >> > > > > >
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.cometd.server.transport.HttpTransport$HttpContext.setHttpSessionAttribute(HttpTransport.java:177)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.lazan.t5.cometd.services.internal.BayeuxContextHttpSession.setAttribute(BayeuxContextHttpSession.java:31)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.SessionImpl.setAttribute(SessionImpl.java:57)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.set(SessionApplicationStatePersistenceStrategy.java:73)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.getOrCreate(SessionApplicationStatePersistenceStrategy.java:58)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.get(SessionApplicationStatePersistenceStrategy.java:44)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.getOrCreate(ApplicationStateManagerImpl.java:50)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:133)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> org.apache.tapestry5.internal.transform.ApplicationStateWorker$1.get(ApplicationStateWorker.java:75)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> com.bomahabo.flow.tapestry.components.layout.MenuProfile.conduit_get_user(MenuProfile.java)
> > >> > > > > >    -
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>  
> com.bomahabo.flow.tapestry.components.layout.MenuProfile.getPageNotificationNumber(MenuProfile.java:135)
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > It is probably worth nothing that this doesn't happen on the
> > >> first
> > >> > > few
> > >> > > > > > triggers of the push event but at some point in the near
> > future.
> > >> > > > > >
> > >> > > > > > Has anyone seen something similar before?
> > >> > > > > >
> > >> > > > > > --
> > >> > > > > > Sincerely
> > >> > > > > > *Boris Horvat*
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > --
> > >> > > > Sincerely
> > >> > > > *Boris Horvat*
> > >> > > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Sincerely
> > >> > *Boris Horvat*
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Sincerely
> > > *Boris Horvat*
> > >
> >
>
>
>
> --
> Sincerely
> *Boris Horvat*
>

Reply via email to