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.