[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Terracotta setup time taking too long!  XML
Forum Index -> General
Author Message
Grolubao

neo

Joined: 07/22/2008 02:38:32
Messages: 5
Offline

Hi to all!
We're trying to implement Terracotta on a project but are being hold back by it's setup time...

We can only see what classes we need to instrument and what transient fields to declare, in runtime, being that the system doesn't tells us at one time everything that's missing, rather it tells us class by class everytime we run the project.

We know exactly which classes we want to instrument. Is there some way to tell terracotta to instrument just this classes and exclude every other?

It's already taking us more than 4 days to setup everything, and we don't see the light at the end of the tunnel...

Thanks in advance!
ari

seraphim

Joined: 05/24/2006 14:23:21
Messages: 1665
Location: San Francisco, CA
Offline

Sorry you are having such a hard time of it.

I am confused though. If you know exactly what you want to include, then just manually edit the tc-config.xml and include those classes.

you need not exclude everything you don't want clustered. This is due to the fact that, if not included, a class will _not_ be clustered.

We are very interested in helping you get past your frustration. Tell us more about how you are going about including classes? What tool are you using? What process? Also let us know any URLs for documentation you used that has led you down this path.

And, just out of curiosity, when you say that you are frustrated and it is not working, what error are you getting? NonPortableObjectException? And how are you fixing it? Setting objects transient? And last, is this a web app? Spring beans? What are you trying to cluster?

Curious,

--Ari
[WWW]
Grolubao

neo

Joined: 07/22/2008 02:38:32
Messages: 5
Offline

Our web application uses several frameworks, like Spring, Echo2, CAS, Hibernate.

When we configure the tc-config.xml, we added the instrumented classes as they were being told by the console output, thru the com.tc.exception.TCNonPortableObjecError.

We start tomcat, look at the console, add more instrumented classes (or transient fields where applicable), and restart tomcat, ...

Repeat this step over and over.

The problem seems that we can't reach a point where the console output doesn't throw any more messages, and this is translating into much time spent.

So for you to have an idea of our tc-config.xml I've attached the file.

We hadn't had a good experience with the sessions configurator, so we opted for plain 'ol vim for editing the file.


Thanks a lot for having the time to answer our questions

We really want to integrate terracotta in our product

Many cheers!
 Filename tc-config.xml [Disk] Download
 Description Tc config
 Filesize 12 Kbytes
 Downloaded:  246 time(s)

ari

seraphim

Joined: 05/24/2006 14:23:21
Messages: 1665
Location: San Francisco, CA
Offline

I see from your config that you are using the Hibernate module. That is good. I also see that CAS, Echo2, and Acegisecurity are causing you some difficulties. Lots of transient fields and include classes.

I wonder...have you tried just manually editing your config and saying, under instrumented-classes:
<class-expression> *..* </class-expression>

?

I suspect, given all the frameworks plus all the transient fields the Sessions Configurator has already written out to your config file this won't work, but it might be easier to start here than to start with the opposite as the Configurator does.

Also, you asked about how to configure locking for your mutating methods, etc. That configuration subsystem also takes regexes so you could tell us to write-lock put* and read-lock get*, if you have such clean naming / factoring of your domain objects and methods.

Does this help?
[WWW]
ari

seraphim

Joined: 05/24/2006 14:23:21
Messages: 1665
Location: San Francisco, CA
Offline

BTW,

Under the "classes" section of the tool, the admin console (bin/admin.sh) can tell you what your resulting instrumented-classes stanza should be when instrumenting *..*, so that you can lessen the instrumentation overhead.

Let us know how things are going.

--Ari
[WWW]
huma

neo

Joined: 07/25/2008 10:55:11
Messages: 1
Offline

Hi again!

So me and my friend were able to start the application without errors. We took the approach of instrumenting everything. But now we've come to a stop.

We get this error from the console and we can't get this work.

And i also attached the tc-config.xml

sigre_arm] ERROR [http-9082-1] Echo2ApplicationServlet.process(82) | Unable to get PrintWriter.
nextapp.echo2.webrender.WebRenderServletException: Unable to get PrintWriter.
at nextapp.echo2.webrender.Connection.getWriter(Connection.java:209)
at nextapp.echo2.webcontainer.WindowHtmlService.service(WindowHtmlService.java:105)
at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)
at pt.telindus.ikon.webapp.echo.Echo2ApplicationServlet.process(Echo2ApplicationServlet.java:80)
at nextapp.echo2.webrender.WebRenderServlet.doGet(WebRenderServlet.java:179)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:375)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
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.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at pt.telindus.ikon.webapp.filter.EchoRedirectFilter.doFilterInternal(EchoRedirectFilter.java:24)
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:175)
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 com.tc.tomcat55.session.SessionValve55.tcInvoke(SessionValve55.java:63)
at com.tc.tomcat55.session.SessionValve55.invoke(SessionValve55.java:50)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
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)
Caused by: java.io.UnsupportedEncodingException: null
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:42)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:83)
at org.apache.tomcat.util.buf.WriteConvertor.<init>(C2BConverter.java:174)
at org.apache.tomcat.util.buf.C2BConverter.<init>(C2BConverter.java:47)
at org.apache.catalina.connector.OutputBuffer.setConverter(OutputBuffer.java:520)
at org.apache.catalina.connector.OutputBuffer.checkConverter(OutputBuffer.java:486)
at org.apache.catalina.connector.Response.getWriter(Response.java:630)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
at nextapp.echo2.webrender.Connection.getWriter(Connection.java:207)
... 54 more
[sigre_arm] ERROR [http-9082-1] Echo2ApplicationServlet.process(83) | java.io.UnsupportedEncodingException: null


 Filename tc-config.xml [Disk] Download
 Description
 Filesize 6 Kbytes
 Downloaded:  256 time(s)

 
Forum Index -> General
Go to:   
Powered by JForum 2.1.7 © JForum Team