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.
|
|
|