I was able to reproduce this bug with a single user:

(Using the database I was testing with previously, which is why there's a different default layout)

startup tomcat

login student:
W    C
   G
   B
   M

Customize:
W    C
G    M
B

logout, login, saved fine
Customize:
W    C
G
B
M

logout, login, old:
W    C
G    M
B

Click tab, switches to new:
W    C
G
B
M

logout, login, old again,Home or Tab click switches to new, logout
waiting 5min, login, still old layout:
W    C
G    M
B

Tab click switches to new:
W    C
G
B
M





Arlo White wrote:
I just did similar test with 3.1_M1 and reproduced the bug. There were slight differences but the nature of the bug was the same. At the end when the porctal is in that state where the fragment-layout is cached and switches to the new layout when you click a tab I made sure to wait 5 minutes and it still didn't switch to the new layout. Restarting tomcat always seems to resolves the issue. So the database appears to be correct, just the in-memory caching is problematic. Tell me if you need more information, logs, database notes, etc.

Cleared webapps
https://www.ja-sig.org/svn/uPortal/tags/rel-3-1-0-M1 44112
created build.properties, set tomcat server.home
ant hsql
mvn clean
ant initportal
startup tomcat

Signed in as Admin
W    B
G    C
   M
logout

set welcome-lo pw
login as welcome-lo, Customize
W    C
B    M
   G
logout, login, saved

logout, login admin, old layout
W    B
G    C
   M

tab didn't refresh, customize didn't change, logout

login as welcome-lo, still saved, logout

logout/in as admin (still old)

login as student, has new layout, logout

shutdown, startup

login welcome-lo, has new layout from prevous session
W    C
B    M
   G
Customize: move weather bot left
W    C
B    G
M
logout, login welcome-lo, saved

logout, login admin, has new
logout, login student, has new
logout, login welcome-lo, Customize, bookmarks to bot right:
W    C
M    G
   B

logout, login welcome-lo, reverted to:
W    C
B    G
M

Click welcome tab, bookmarks moved bottom right.
W    C
M    G
   B
logout, login welcome-lo, bookmarks still on left
Click tab, moves again.

logout, login welcome-lo, bookmarks on right now, correct layout
Note: with trunk we got here in one login instead of two

Customize: weath to right
W    C
   G
   B
   M

logout, login welcome-lo,  weather reverted, click tab, still old
customize, weather now on right, click tab, weather still left, click customize, weather on right, click "Back to Home", weather on right. (What's different about this link?), now clicking tab has new layout

logout, login welcome-lo, new layout
logout, login welcome-lo, new layout

logout, login admin: old layout
W    C
B    G
M
Clicking tab and customize do nothing. Revert layout, gets correct layout, logout
login student, same old layout, logout
login faculty, has new layout (fresh login), logout

waiting 5 minutes to try student again:
Still old layout.
W    C
B    G
M

logout, login welcome-lo
W    C
   G
   B
   M

logout, login admin, old layout
W    C
B    G
M

shutdown, startup


login welcome-lo:
W    C
   G
   B
   M
logout, login admin, same layout, logout

login welcome-lo, customize to:
W    C
M    G
   B

logout, login welcome-lo, reverted to:
W    C
   G
   B
   M
Click tab, switches to new layout:
W    C
M    G
   B
logout, login welcome-lo, same thing over and over.

login admin:
W    C
   G
   B
   M
Reverting gets correct layout.

login student (correct layout, fresh login):
W    C
M    G
   B

Same Warning in logs:
org.jasig.portal.PortalException: Node with id="ctf1" doesn't exist. Occurred in layout for admin. at org.jasig.portal.layout.dlm.DistributedLayoutManager.getParentId(DistributedLayoutManager.java:1382)

After a couple minutes logged into welcome-lo again, correct layout, may have been 5min total?:
W    C
M    G
   B

Customize to:
W    C
M    G
B

logout, login welcome-lo, correct layout saved.
Customize to:
W    C
   G
   B
   M

~11:34:20
logout, login welcome-lo (old layout):
W    C
M    G
B

Switches to new when click tab.

logout, login admin:
W    C
   G
   B
   M
has new layout, was reverted this session.

logout, login student, old layout:
W    C
M    G
   B

11:36 logout, login welcome-lo, still old, refresh > new behavior.
waiting to 11:40

login welcome-lo:
W    C
M    G
B

Click tab:
W    C
   G
   B
   M

logout, login student:
W    C
M    G
   B

logout, login welcome-lo:
still odd, click tab, customize, back to home, logout
login welcome-lo, still old.




Arlo White wrote:
Yesterday I was testing somewhat haphazardly. Today I methodically went through and wrote down every change I did and was able to reproduce the bug. I haven't been able to determine what type of channel moves are causing the problem, the first run through went fine, but as you can see I get strange behavior later on. It does seem to be some kind of caching issue. I'm going to checkout M1 and do the exact same thing and see if I reproduce the bug in M1. I've bolded odd behaviors to make them easier to find.

Cleared webapps
Using https://www.ja-sig.org/svn/uPortal/trunk 44496
ant clean
ant hsql
ant initportal
startup tomcat

Looked at jasig repository,
branch tag/rel-3-1-0-M1 is 44112
trunk is 44314

Looked at svn log between these revisions, mostly crn changes. Some database changes, using hibernate for schema now. Maybe an invalid database is being created in trunk?

Signed in as Admin
logout

set welcome-lo pw
login as welcome-lo

(I'm logging in directly as the layout owner just to be sure the fragment admin isn't doing anything funky)

Move Google Right Bottom; Bookmarks Left Bottom (Customize)
logout, login, saved

logout, login admin
*old layout Note: we logged in as admin before changing welcome-lo*
google left bottom, book top right
tab didn't refresh
back to home
logout

login as welcome-lo, still saved

logout/in as admin

login as student, has new layout

9:45 admin still old, logout
*9:54 login admin, still old, logout
admin seems to be permanently cached?*

login admin, revert layout works

shutdown, startup

login welcome-lo
has new layout from previous session change, move weather bot left
logout, login welcome-lo, saved correctly

logout, login admin, has new
logout, login student, has new
logout, login welcome-lo, bookmarks bottom-right
*logout, login welcome-lo, reverted to old layout, click welcome tab*
*bookmarks moved bottom right.*
logout, login welcome-lo, bookmarks bottom-right now
moved weather > Bot Right
*logout, login welcome-lo,  weather reverted, click tab, still old*
*Go to customize, weather now on right (correct in customize view), click tab, weather still left, click customize, weather on right, click "Back to Home", weather on right. (What's different about this link?), now clicking tab has new layout
*
*logout, login welcome-lo, weather on left again, click tab, weather goes to right* *logout, login welcome-lo, weather on left again, browser refresh does nothing, clicking home also moves weather to right*
*logout, login welcome-lo, weather on left again, logout*
*login admin, bookmarks and weather on left, click tab does nothing, customize nothing*, revert layout, bookmarks weather on right. (revert gets correct positions)
*logout, login admin, bookmarks and weather back on left*
*logout, login student, bookmarks & weather on left, logout*
login faculty, bookmarks, weather on right, logout (correct, never logged in as this user this session)

shutdown, startup

login welcome-lo, bookmarks weather on right (has correct layout from last time).
logout, login admin, bookmarks, weather on right.
logout, login welcome-lo, move weather left, logout
*login admin, weather didn't move, logout*
*login welcome-lo, weather on right (old), click tab, weather jumps left, logout (similar behavior as before)*
shutdown

Look at log, have multiple instance of this warning:

WARN [http-8080-1] portal.ChannelManager.[] Dec/17 10:12:10 - Failed to load IUserLayoutChannelDescription and parent IUserLayoutNodeDescription for channel with subscribe id: ctf1 org.jasig.portal.PortalException: Node with id="ctf1" doesn't exist. Occurred in layout for welcome-lo. at org.jasig.portal.layout.dlm.DistributedLayoutManager.getParentId(DistributedLayoutManager.java:1382) at org.jasig.portal.layout.TransientUserLayoutManagerWrapper.getParentId(TransientUserLayoutManagerWrapper.java:255) at org.jasig.portal.ChannelManager.outputChannel(ChannelManager.java:495) at org.jasig.portal.ChannelContentCacheEntry.replayCache(ChannelContentCacheEntry.java:22) at org.jasig.portal.rendering.StaticRenderingPipeline.renderState(StaticRenderingPipeline.java:436) at org.jasig.portal.PortalSessionManager.doGetInternal(PortalSessionManager.java:246) at org.jasig.portal.PortalSessionManager.doGet(PortalSessionManager.java:176)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

startup
login welcome-lo
(W=Welcome,M=MyWeather,C=Calendar,G=GoogleSearch,B=BookmarksPortlet)
/_ is empty in that column, spaces weren't very clear in email/

WC
MG
_B

Customize to:
WC
_G
_B
_M

logout, login, layout saved correctly
Customize again
WC
BM
G

*logout, login, reverted*
WC
_G
_B
_M

Click Tab, changes to correct layout *similar weird refresh behavior as before*
WC
BM
G

logout, login, in correct layout at start

I'll start testing M1 and see if I reproduce the bug.

--
Arlo White
Application Management / ITS
[email protected]
Office (805) 756-5211





Eric Dalquist wrote:
The only thing I can think of is a caching issue somewhere, we're on about 3.1-M1 and I don't think we've seen this issue but I'll see if I can verify that tomorrow. I'll also look into any local modifications we might have that would change how things work with DLM fragments for us.

-Eric

Arlo White wrote:
We've encountered some severe issues with DLM and fragment-layouts. As we started testing fragment-layout changes in our customized portal we started noticing some strange behavior. After logging into a fragment-layout user and moving channels around, then logging out and back in those changes would revert. Sometimes refreshing once would bring these changes in. Sometimes switching to the customize screen would show the changes, then going back to the tab would show the changes that previously weren't visible.

If a fragment-layout is in this state users don't inherit the changes. However, if you restart the server and login as the fragment-layout user, the changes appear correctly and are inherited by users.

After encountering these issues I decided to confirm whether the bug is in uPortal trunk.

I just ran a complete initportal, with the default hsql database and default entities.

I moved a few channels around in the welcome-lo fragment. After I logged out and back in as welcome-lo the changes disappeared. When I went to Customize I saw those changes. At this point, if you click the Welcome tab, the changes won't be there. However, if you click "Back to Home" the changes will be in the welcome tab. Once you logout and back in the changes disappear again. If you login as a user they don't get the changes, if you revert the layout you can see the changes.

I presume that restarting the server would cause the user to inherit the changes without reverting layouts but the server shouldn't need to be restarted just because a fragment-layout changed.

Is DLM not functional in trunk? Are these known issues. Please reply as soon as possible as we're planning on rolling 3.1 to production this Sunday.







--
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to