Exception thrown while trying to write to bandana

XMLWordPrintable

    • Type: Bug
    • Resolution: Not a bug
    • Priority: Low
    • None
    • Affects Version/s: 2.3.1
    • Component/s: None
    • Environment:

      Window XP, Tomcat 5.5, mysql 5.0, Java 1.5.0_10, DWR2.0-rc1 running confluence 2.3.1 (with plugins patch) inside idea 5.1

      Every time I try to write to bandana as a result of a DWR request I get the following exception

      ------------
      2007-02-08 18:56:09,734 WARN [http-8080-Processor20] [atlassian.confluence.cache.TransactionalCacheFactory] before Transactional cache update outside transaction
      java.lang.Exception
      at com.atlassian.confluence.cache.WarnBeforeMethodAdvice.before(WarnBeforeMethodAdvice.java:29)
      at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
      at $Proxy60.put(Unknown Source)
      at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.store(ConfluenceCachingBandanaPersister.java:118)
      at com.atlassian.bandana.DefaultBandanaManager.setValue(DefaultBandanaManager.java:74)
      at com.adaptavist.confluence.builder.layouts.LayoutManager.writeSpaceDefaults(LayoutManager.java:123)
      at com.adaptavist.confluence.builder.layouts.LayoutManager.setSpaceLayoutLock(LayoutManager.java:319)
      at com.adaptavist.confluence.builder.adminlayouts.AdminLayoutsDWR.setValue(AdminLayoutsDWR.java:94)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
      at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:411)
      at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:414)
      at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:273)
      at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
      at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:104)
      at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:120)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at com.atlassian.plugin.descriptors.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:38)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:159)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
      at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:122)
      at com.atlassian.core.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:25)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Thread.java:595)
      -----------

      I am attempting to write the following bean :

      -----------
      package com.adaptavist.confluence.builder.layouts.model;

      public class SpaceDefault {
      private String layoutId;
      private boolean locked;

      public SpaceDefault() {
      }

      public SpaceDefault(String layoutId, boolean locked)

      { this.layoutId = layoutId; this.locked = locked; }

      public String getLayoutId()

      { return layoutId; }

      public void setLayoutId(String layoutId)

      { this.layoutId = layoutId; }

      public boolean isLocked()

      { return locked; }

      public void setLocked(boolean locked)

      { this.locked = locked; }

      }
      -----------

      Where layoutId == 'test1' and locked == 'true' (or false, happens either way), I am using the following code to call for the write:

      ----------
      private static final String SPACE_DEFAULTS = "com.adaptavist.confluence.builder.themes.spaceDefaults";
      private TreeMap spaceDefaults;

      private void writeSpaceDefaults()

      { bandanaManager.setValue( new ConfluenceBandanaContext(), SPACE_DEFAULTS, xStream.toXML(spaceDefaults) ); }

      public void setSpaceLayoutLock (String spacekey, boolean locked) throws BuilderException {
      initData();
      if (spacekey==null)

      { spacekey = GLOBAL_SPACE; }

      SpaceDefault spaceDefault = (SpaceDefault) spaceDefaults.get(spacekey);
      if (spaceDefault==null)

      { spaceDefault = new SpaceDefault(DEFAULT_LAYOUT_ID,locked); }

      else

      { spaceDefault.setLocked(locked); }

      spaceDefaults.put(spacekey,spaceDefault);
      writeSpaceDefaults();
      }
      ----------

      To be honest .. this also happens with every other write I have ever attempted to make to bandana in 2.3 when called through DWR, however with the other writes the data was actually getting written away so I have left it as something that could be resolved later (when 2.3 is a bit more stable) ... however for this write the data is NOT getting written away, hence this is causing me major problems in my development work.

              Assignee:
              Christopher Owen [Atlassian]
              Reporter:
              Alain Moran
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: