[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]
DSO/POJO clustering with Java 7?  XML
Forum Index -> Terracotta Platform
Author Message
florescu

journeyman

Joined: 03/07/2008 15:58:51
Messages: 36
Offline

Hi,
when can we expect support for DSO clustering with Java 7? Our (quite extensive) use of DSO clustering fails right away in Terracotta 3.7.3 + JDK1.7.0_<7 to 13>

Trying to run the pojo samples, I get:
LINUX 64b:

Starting BootJarTool...
2013-02-05 13:05:04,432 INFO - Terracotta 3.7.3, as of 20130116-060539 (Revision unknown-21992 by cruise@su10vmo118 from 3.7.3)
2013-02-05 13:05:04,844 INFO - Successfully loaded base configuration from file at '/home/oflo/Terracotta/terracotta-3.7.3/platform/samples/pojo/chatter/./tc-config.xml'.

********************************* WARNING **********************************
* Not including instrumented ConcurrentHashMap in boot jar
****************************************************************************

2013-02-05 13:05:06,981 INFO - Creating boot JAR file at '/home/oflo/Terracotta/terracotta-3.7.3/lib/dso-boot/dso-boot-oracle_linux_170_07.jar'...
2013-02-05 13:05:07,135 INFO - Successfully created boot JAR file at '/home/oflo/Terracotta/terracotta-3.7.3/lib/dso-boot/dso-boot-oracle_linux_170_07.jar'.
Error occurred during initialization of VM
java.lang.NullPointerException
at java.util.Hashtable.__tc_put(Hashtable.java:542)
at java.util.Hashtable.put(Hashtable.java)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java:1115)

WINDOWS7 32b:
Starting BootJarTool...
2013-02-05 13:11:55,843 INFO - Terracotta 3.7.3, as of 20130116-060539 (Revision unknown-21992 by cruise@su10vmo118 from 3.7.3)
2013-02-05 13:11:56,696 INFO - Successfully loaded base configuration from file at 'C:\Users\oflorescu\terracotta-3.7.3\platform\samples\pojo\chatter\TC-CON~1.XML'.

********************************* WARNING **********************************
* Not including instrumented ConcurrentHashMap in boot jar
****************************************************************************

2013-02-05 13:11:58,886 INFO - Creating boot JAR file at 'C:\Users\oflorescu\terracotta-3.7.3\lib\dso-boot\DSO-BO~1.JAR'...
2013-02-05 13:11:59,108 INFO - Successfully created boot JAR file at 'C:\Users\oflorescu\terracotta-3.7.3\lib\dso-boot\DSO-BO~1.JAR'.
Error occurred during initialization of VM
java.lang.NoSuchFieldError: offset
at java.lang.String.getCharsFast(String.java)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:416)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.nio.cs.FastCharsetProvider.lookup(FastCharsetProvider.java:119)
at sun.nio.cs.FastCharsetProvider.charsetForName(FastCharsetProvider.java:136)
at java.nio.charset.Charset.lookup2(Charset.java:487)
at java.nio.charset.Charset.lookup(Charset.java:475)
at java.nio.charset.Charset.defaultCharset(Charset.java:618)
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:56)

at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:111)
at java.io.PrintStream.<init>(PrintStream.java:104)
at java.io.PrintStream.<init>(PrintStream.java:151)
at java.lang.System.initializeSystemClass(System.java:1141)

Looking at JavaLangStringAdapter.java, it is still instrumenting based on the old java.lang.String class ("offset" member, etc).

Thanks
rajoshi

seraphim

Joined: 07/04/2011 04:36:10
Messages: 1491
Offline

We would suggest you to go for ehcache which is much easier to implement and supports distributed caching .

Rakesh Joshi
Senior Consultant
Terracotta.
florescu

journeyman

Joined: 03/07/2008 15:58:51
Messages: 36
Offline

We have implemented a lot of clustering infrastructure on top of terracotta, eg a specialized map-reduce implementation with sophisticated recovery when nodes fail, a task channel (somewhat like your master-worker), clustered locks, barriers, cluster membership & control services, etc.

ehcache is just that, a distributed cache, and cannot be the answer...
Should we infer that Terracotta is NOT going to support DSO going forward and Java 1.6 is the last supported version? If the answer is yes, that is very disappointing, I have pushed for terracotta adoption at all my jobs for the last 6 years (including introducing terracotta to one of your 9 big customers listed on your home page...)
klalithr

consul

Joined: 01/23/2011 10:58:07
Messages: 489
Offline

Firstly I would like to thank you for being a proponent of Terracotta over the past 6 years. We appreciate that and hope you continue to spread the good word.
Not sure when you last took a look at the Express product but it now handles a lot of the custom features that you are looking for. A lot of it has been back-ported from the DSO world and simplified as well. In addition it offers a comprehensive scale and performance options.
With regard to DSO go ahead approach, someone from our team will reach out to you directly and keep you apprised of the go forward approach.

Karthik Lalithraj (Terracotta)
shortmem

journeyman

Joined: 12/12/2011 07:59:13
Messages: 17
Offline

florescu wrote:
We have implemented a lot of clustering infrastructure on top of terracotta, eg a specialized map-reduce implementation with sophisticated recovery when nodes fail, a task channel (somewhat like your master-worker), clustered locks, barriers, cluster membership & control services, etc.

ehcache is just that, a distributed cache, and cannot be the answer...
Should we infer that Terracotta is NOT going to support DSO going forward and Java 1.6 is the last supported version? If the answer is yes, that is very disappointing, I have pushed for terracotta adoption at all my jobs for the last 6 years (including introducing terracotta to one of your 9 big customers listed on your home page...) 


We're on the same page. I'm trying to rework a map-reduce framework with terracotta express and ehcache. The code resembles pretty much working with hibernate: load some stuff, update it, remember that the object must be re-serialized (persisted) so that everyone can see it...To be fair, ehcache key locking, which I'm using to control some metadata state, is fast and reliable, but the lack of Terracotta transactions makes the code non-elegant in some situations.

It's been a while that questions about DSO are replied with "Go with express. It's easier and faster". Well for those who have been following Terracotta from it's roots (no pun intended) these comments seem at least ...suspicious. I would like to know when did brute force serialization became faster than delta-only serialization in general.

As I've said in another post, I understand why express/ehcache is being chosen in favor of DSO. I do believe that express has better scalability, since one of the main flaws of DSO is keeping all keys in memory for a map structure, however it is annoying to read "Go with ehcache/express". You sound like salesmen...:(

Anyway, I could use DSO with jdk 7 with update 3. I think that after update 3 they pushed String from alt-rt.jar (which is loaded in the boot-classpath with XX:+AggressiveOpts) into rt.jar.
chan1986

neo

Joined: 05/06/2014 05:08:57
Messages: 2
Offline

Hi,

I am trying to run Terracotta with JDK7.
The current versions I am using:
Terracotta 3.7.7
JDK 7 Update 3
Tomcat 7.014

I am able to launch terracotta service but Tomcat is failing to start.
I have attached the log file for reference.

Here is the error that I am getting:
2014-10-16 14:05:25 Commons Daemon procrun stderr initialized
java.lang.StackOverflowError
at com.tc.object.locks.LockIdFactory.generateLockIdentifier(LockIdFactory.java:37)
at com.tc.object.bytecode.ManagerImpl.generateLockIdentifier(ManagerImpl.java:829)
at com.tc.object.bytecode.ManagerUtil.monitorExit(ManagerUtil.java:582)
 Filename tomcat7-stderr.2014-10-16.log [Disk] Download
 Description
 Filesize 74 Kbytes
 Downloaded:  725 time(s)

klalithr

consul

Joined: 01/23/2011 10:58:07
Messages: 489
Offline

DSO is no longer supported with Java 7. You might want to try the most recent version with BigMemory Go/Max instead

Karthik Lalithraj (Terracotta)
 
Forum Index -> Terracotta Platform
Go to:   
Powered by JForum 2.1.7 © JForum Team