[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]
Messages posted by: cassio  XML
Profile for cassio -> Messages posted by cassio [15]
Author Message
I had a feeling this had to do with dns. Perhaps invoking TC passing an argument to use only IPV4 (look at Inet6) stack would solve this ?
Ok, I PM'ed you one dump, I'll post here the one I sent you plus another one.
Hi teck,

I'm using the Terracotta menu > Servers > localhost.

Then I start my application using the run as DSO Application.

I cant see 100% cpu spikes during this process, it must be something else.

I'll pm you a thread dump of the TC process.

Thanks,
zeeiyer, how do i turn it off ?

simply removing the statistics tag makes terracotta assume the default location, which is the same directory the application is running.

Thank you.
Hi,

I'm using the nightly eclipse plugin on Mac OS X 10.5 with eclipse 3.3 and I'm having a slow startup time of the TC Server in order to run my clustered application.

If i run dtruss to see which calls are being made by the server, I can see a bunch of stat64 calls (to get file status), even after it says 'Terracotta Server has started up as ACTIVE node on 0.0.0.0:9510 successfully, and is now ready for work.' in the console, I still get a busy icon and can't work for some time.

Here's some output of dtruss:

Code:
stat64("/Users/cassio/terracotta/server-statistics/statistics-store.lock.db\0", 0xB0F90B34, 0x0)                 = 0 0
 stat64("/Users/cassio/terracotta/server-statistics/statistics-store.lock.db\0", 0xB0F90BA4, 0x0)                 = 0 0
 stat64("/Users/cassio/terracotta/server-statistics/statistics-buffer.lock.db\0", 0xB1194B34, 0x0)                = 0 0
 stat64("/Users/cassio/terracotta/server-statistics/statistics-buffer.lock.db\0", 0xB1194BA4, 0x0)                = 0 0
 stat64("/Users/cassio/terracotta/server-statistics/statistics-store.lock.db\0", 0xB0F90B34, 0x0)                 = 0 0
 munmap(0x19711000, 0x8000)               = 0 0
 munmap(0x196F9000, 0x8000)               = 0 0
 munmap(0x196C1000, 0x8000)               = 0 0
 munmap(0x1774000, 0x8000)                = 0 0
 munmap(0x1764000, 0x8000)                = 0 0


after the munmap calls start I can go back to use eclipse...

any ideas why this is happening ?

The only logging configuration I've done in the tc-config.xml file is:

Code:
<server>
       <data>/Users/cassio/terracotta/server-data</data>
       <logs>/Users/cassio/terracotta/server-logs</logs>
       <statistics>/Users/cassio/terracotta/server-statistics</statistics>
     </server>


Sometimes the server startup time is really fast, but most of the time its slow.

Ive also put the terracotta folder under privacy so spotlight doesnt index it...

Thanks
Ok, never mind. Restarting agent controller seems to have resolved the issue.
The application is now starting.
Hi,

Has anyone successfully profiled a Terracotta POJO app using Eclipse TPTP ?

I've created a profile configuration for a java application and added the following to the VM Arguments options:

Code:
-Dtc.install-root=/home/cassio/tools/terracotta-2.6-stable4
 -Xbootclasspath/p:/home/cassio/tools/terracotta-2.6-stable4/lib/dso-boot/dso-boot-hotspot_linux_150_14.jar
 -Dtc.config=/home/cassio/workspace/myproject/tc-config-pojo.xml


Nothing happens when I start the application. It just stays in a blank console.
Running ps shows that the process isn't started.

Any ideas ?

Thanks.
Thanks Taylor. That's exactly what i wanted.
Gary,

Im already using a ConcurrentHashMap. The thing is that i have other operations that must be done inside the block that will update the value in the hash map, so I need a synchronized block. I'd just like a way to not have to lock the entire map while i'm updating the value a single key is mapping.

What i need is this http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ConcurrentHashMap.html#replace(K,%20V) but in a block that allows me to run more code.
Gkeim, nope.

I ended up changing my strategy and starting the server and clients manually through eclipse. Then I run a junit test that connects to tc-clients and tests message exchanging. If you want i can pm you the maven log.

Thanks.
Hi, I need to update some values on a hashmap.

Instead of locking the whole map, like this:

Code:
synchronized(hashmap) {
     hashmap.put(key, newValue);
 }


I'd like to do this:

Code:
synchronized(hashmap.get(key) {
     hashmap.put(key, newValue);
 }


can something like this be done so the whole hash doesnt have to be locked?

Thanks,
Strange. I've got

<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
</dependency>

but I'm getting the following when i run mvn tc:run

[INFO] [master] AW::WARNING - could not load class [org/apache/commons/logging/Log] as a resource in loader [sun.misc.Launcher$AppClassLoader@1d5550d]
[INFO] [master] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

I've checked the jar in my local repository and the class is there.

any ideas ?


Okay, how can i configure the process classpath?

for example,

<processes>
<process nodeName="master" className="org.terracotta.maven.plugins.tc.test.MasterProcess" count="1" jvmargs="-Xmx30m"/>
<process nodeName="sample" className="org.terracotta.maven.plugins.tc.test.SampleProcess" count="2" jvmargs="-Xmx30m"/>
</processes>

how would i set master's classpath ?

I've tried passing -classpath in the jvmargs but it doesnt seem to work.

Thanks.
Hi, I need to create junit tests in order to test my clustered application.

I must produce some messages and see if they are received by all consumers.

What is the best way to do this ?

One way would be to fork some processes that start clients, but i think there should be a better way to do this.

My application uses a pojo configuration.

Thank you,
Hi, from what i read in here (http://www.terracotta.org/confluence/display/orgsite/How+Terracotta+Scales) terracotta needs to have an active server (and may have several passive for failover).

The active server is the bottleneck ? Every thread in every clustered jvm that wants to grab a lock on the same shared object has to go through this same active server ? Can requests be load balanced to other terracotta servers ? (multiple active servers) ?

From what i can see this is not the case, am i correct?

This is the doubt i had, how terracotta keeps coherence between different active servers, maybe vector clocks ? But it seems to be just one central server that handles all transactions.
 
Profile for cassio -> Messages posted by cassio [15]
Go to:   
Powered by JForum 2.1.7 © JForum Team