Task #3632
Have to hit refresh on the identity manager before it renders anything
100%
Description
When I go to the identity manager at
https://cn.dataone.org/portal/
I first get a blank page. When I then do a refresh (F5), the page renders.
Happens in both Firefox and Chrome.
History
#1 Updated by Ben Leinfelder over 11 years ago
This happens to me, too, and I haven't figured out why. It's very odd and I hope it doesn't have something to do with the hazelcast session sharing we have running there.
#2 Updated by Ben Leinfelder over 11 years ago
Mar 1, 2013 5:03:00 PM com.hazelcast.web.WebFilter
INFO: Created new session with id: HZBA2CDDB352DC4983BD87A05457735E10
Mar 1, 2013 5:03:00 PM com.hazelcast.web.WebFilter
INFO: 1 is sessions.size and originalSessions.size: 1
Mar 1, 2013 5:03:00 PM org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext
SEVERE: Exception initializing page context
java.lang.NoSuchMethodError: javax.servlet.http.Cookie.setHttpOnly(Z)V
at com.hazelcast.web.WebFilter.addSessionCookie(WebFilter.java:558)
at com.hazelcast.web.WebFilter.createNewSession(WebFilter.java:216)
at com.hazelcast.web.WebFilter.access$800(WebFilter.java:38)
at com.hazelcast.web.WebFilter$RequestWrapper.getSession(WebFilter.java:352)
at com.hazelcast.web.WebFilter$RequestWrapper.getSession(WebFilter.java:311)
at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:146)
at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:124)
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:107)
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:63)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:44)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
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 com.hazelcast.web.WebFilter.doFilter(WebFilter.java:598)
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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:662)
#3 Updated by Ben Leinfelder over 11 years ago
This is a version mismatch between servlet-api 2.3 and 3.0.1 Hazelcast-wm 2.4.1 depends on the newer servlet-api, whereas libclient includes JCS which depends on servlet-api-2.3. Perhaps JCS will still function with the newer servlet-api and we can just force the use of that version to get around this mismatch.
#4 Updated by Ben Leinfelder over 11 years ago
I could try excluding the 2.3 jar in the d1-portal-servlet project and see how that works out, but running on Tomcat 6 does not include servlet 3.0 support (that is Tomcat 7). We might be hosed here...
#5 Updated by Ben Leinfelder over 11 years ago
I am going to down-grade Hazelcast to v2.3.1 until we run on tomcat 7 that supports the servlet-api-3.0 spec.
Here was the 2.4 change that forced the spec upgrade:
https://github.com/hazelcast/hazelcast/commit/47f800d73017204b12455dac87d2accfa55fd6a2
#6 Updated by Ben Leinfelder over 11 years ago
- Status changed from New to Closed
- translation missing: en.field_remaining_hours set to 0.0
That worked - I think this use of hazelcast will not interfere with the CN's other uses of it and the version difference will not cause issues.
#7 Updated by Ben Leinfelder over 11 years ago
- Estimated time set to 0.00
- Status changed from Closed to In Progress
after a weekend has passed, I now see this when attempting the portal:
com.hazelcast.core.OperationTimeoutException: [ATOMIC_NUMBER_GET_AND_SET] Redo threshold[90] exceeded! Last redo cause: REDO_MEMBER_UNKNOWN, Name: c:__hz_AtomicLongMap
com.hazelcast.impl.BaseManager$ResponseQueueCall.getRedoAwareResult(BaseManager.java:649)
com.hazelcast.impl.BaseManager$ResponseQueueCall.getResult(BaseManager.java:636)
com.hazelcast.impl.BaseManager$RequestBasedCall.getResultAsIs(BaseManager.java:486)
com.hazelcast.impl.BaseManager$ResponseQueueCall.getResultAsIs(BaseManager.java:555)
com.hazelcast.impl.ConcurrentMapManager$MAtomicNumber.doAtomicOp(ConcurrentMapManager.java:1439)
com.hazelcast.impl.ConcurrentMapManager$MAtomicNumber.getAndSet(ConcurrentMapManager.java:1423)
com.hazelcast.impl.AtomicNumberProxyImpl$AtomicNumberProxyReal.getAndSet(AtomicNumberProxyImpl.java:200)
com.hazelcast.impl.AtomicNumberProxyImpl$AtomicNumberProxyReal.set(AtomicNumberProxyImpl.java:208)
com.hazelcast.impl.AtomicNumberProxyImpl.set(AtomicNumberProxyImpl.java:138)
com.hazelcast.web.WebFilter$HazelcastHttpSession.setAccessed(WebFilter.java:508)
com.hazelcast.web.WebFilter.doFilter(WebFilter.java:583)
After restarting Tomcat the portal runs as normal. Will check back in a day or two to see if the problem persists (though who knows if Tomcat will have been restarted by someone else). This may be a bug in Hazelcast 2.3.1 that was addressed in 2.4.1...
#8 Updated by Ben Leinfelder over 11 years ago
I've submitted a bug to hazelcast about this: https://github.com/hazelcast/hazelcast/issues/432
#9 Updated by Ben Leinfelder about 11 years ago
- Product Version set to 1.2
There is a fix/pull request now available for this if we want to try updating hazelcast-wm. https://github.com/hazelcast/hazelcast/pull/428
#10 Updated by Ben Leinfelder over 9 years ago
- % Done changed from 0 to 100
- Status changed from In Progress to Closed
We are running tomcat 7 now, no longer an issue.