Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-373

Server Cache race condition

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 2.0-beta-3
    • 1.2.1.GA
    • None
    • None

      We are using the RESTEASY server side caching, such as:

      @Cache(maxAge=300,mustRevalidate=true)
      Date getMyDate() {}

      In our production environment, when there are a lot of the concurrent request to this call, we got the following exception:

      2010-03-15 11:33:15,907 ERROR [http-0.0.0.0-80-36] org.jboss.resteasy.core.SynchronousDispatcher [SynchronousDispatcher.java : 189] - Unknown exception while executing GET /calendar/HolidayCalendar/getMyDay
      java.lang.NullPointerException: null
      at org.jboss.resteasy.plugins.cache.server.JBossCache.get(JBossCache.java:155) [resteasy-cache-core-1.2.1.GA.jar:na]
      at org.jboss.resteasy.plugins.cache.server.ServerCacheHitInterceptor.preProcess(ServerCacheHitInterceptor.java:46) [resteasy-cachecore1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:237) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:212) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:202) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:441) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:111) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:217) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:159) [resteasy-jaxrs-1.2.1.GA.jar:na]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [jboss-web-service.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) [jbossweb.jar!/:5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)]
      at java.lang.Thread.run(Thread.java:619) [na:1.6.0_18]

            patriot1burke@gmail.com Bill Burke (Inactive)
            liuxiaodu_jira Louie Liu (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: