Skip navigation

Release: 2.6.2 Previous Releases
Publish Date: July, 2008

Article Rating?


Glossary of Terms


A

Autolock

A cluster-wide lock on a clustered object wherever there is Java synchronization on that object. >> Read more

B

BeanShell

A scripting language similar to ordinary Java code which does not require type declarations and which can be executed at runtime. BeanShell has been standardized in JSR-274. More information on BeanShell is at http://www.beanshell.org/.

C

Class Expression

An element in the Terracotta configuration file allowing class sharing. For example, the following code makes the class Counter shareable:

<application>
  <dso>
     ...
       <instrumented-classes>
         <include>
           <class-expression>Counter</class-expression>
         </include>
       </instrumented-classes>
     ...
  </dso>
</application>

Client Disconnect

An action taken by a Terracotta server to drop a Terracotta client from a cluster when the server has detected a severed connection to that client.

Clustered Lock

A lock on a clustered object. A clustered lock allows access to data in a shared object.

Clustered Object

An object referenced by a Terracotta root directly or by another object referenced by the root. Clustered objects are shared across the Terracotta cluster and can be safely accessed and modified.

Concurrent Lock

A non-exclusive lock whose use is not communicated to the Terracotta server. A concurrent lock allows a Terracotta transaction to proceed, but there is no guarantee of correctness because two or more threads could write to an object concurrently.

D

DSO

Distributed Shared Objects (DSO) is the Terracotta component allowing an application to operate in a multi-JVM environment.

G

Greedy Lock

A lock issued to one Terracotta client based on that client's heavy usage of that lock. The Terracotta server prevents other clients from acquiring the lock. The Terracotta server can reacquire the lock if the owning client dies, or if other clients experience a negative impact from the inability to acquire the lock.

L

L1

An informal name for a Terracotta client. The terminology is borrowed from Level 1/Level 2 cache terminology in computer hardware. >> Read more

L2

An informal name for a Terracotta server. The terminology is borrowed from Level 1/Level 2 cache terminology in computer hardware. >> Read more

Literal

A field whose value corresponds to an actual value, as opposed to a fields whose value is a reference. Terracotta considers all non-reference fields to be literals.

Lock

Locks in Terracotta perform two duties: to coordinate access to critical sections of code between threads and to serve as boundaries for Terracotta transactions. Terracotta locks are analogous to synchronization in Java. >> Read more

Lock Upgrade

An attempt by a thread to exchange its read lock for a write lock.

Logically Managed Class

A class in which field changes are propagated by replaying method calls on the other members of the Terracotta cluster. These classes of objects are described as "logically managed" because Terracotta records and distributes the logical operations that were performed on them rather than changes to their internal structure. >> Read more

M

Method Expression

An element in the Terracotta configuration file allowing method clustering through locks. For example, the following code makes the class count lockable:

<application>
  <dso>
     ...
       <locks>
        <autolock>
           <method-expression>void Counter.count()</method-expression>
           <lock-level>write</lock-level>
        </autolock>
       </locks>
     ...
  </dso>
</application>

N

Named Lock

A lock specified in a "named lock" stanza in the Terracotta configuration A thread that attempts to execute a method that matches a named lock stanza must first acquire the lock of that name from the Terracotta server. Named locks are very coarse-grained and should only be used when autolocks are not possible. >> Read more

Non-Persistent Mode

A setting that forces Terracotta servers to use disk space only for swapping data. Found in the Terracotta configuration file under servers/server/dso/persistence. A Terracotta server in non-persistent mode writes data to disk on a temporary basis, and if restarted will not be restored to its pre-shutdown state.

O

On-load

A set of specific startup values and behaviors, specified in the Terracotta configuration file. For example, the on-load section can specify a method or code for a particular class included for instrumentation:

<include>
...
   <on-load>
    <execute><![CDATA[...]]></execute>
    <method>myMethod</method>
   </on-load>  
</include>

P

Persistent Mode

A data-preservation setting for Terracotta servers, found in the Terracotta configuration file under servers/server/dso/persistence. A Terracotta server in persistent mode immediately and permanently writes data to disk, and if restarted will reload that data to restore its pre-shutdown state0. If more than one Terracotta server is used in a cluster, persistent mode must be used.

Physically Managed Class

Physically Managed Classes are those in which Terracotta records and distributes changes to the physical structure of the object. When a field of a physically managed object changes, the new value of the field is sent to the Terracotta server and to other members of the Terracotta cluster that currently have the changed object in memory. >> Read more

Primitive

A primitive data type. Special rules apply to Terracotta roots defined as a primitive. >> Read more

R

Read Lock

A lock set to read level, allowing access to data for read operations. A read lock is non-exclusive, so that multiple reads may occur on the same data. A read lock cannot grant read access to data which is under a write lock until the write lock is lifted.

Reconnect Window

A configurable interval of time during which Terracotta clients are allowed to reconnect to the Terracotta server after the server has restarted.

Root

A "root" is the top of a clustered object graph as declared in the Terracotta configuration. Object sharing in Terracotta starts with these declared roots. >> Read more

S

Shared Lock

A lock on a shared object, allowing safe access to that object.

Shared Object

An object shared across a Terracotta cluster.

T

Terracotta Client

A Terracotta 'client' is a JVM that participates in a Terracotta cluster and that your application runs in. >> Read more

Terracotta Server

The Terracotta Server is the heart of a Terracotta cluster. It performs two basic functions:

1. Cluster-wide thread coordination and lock management
2. Clustered object data management and storage

>> Read more

Transactions

Terracotta transactions are sets of clustered object changes that must be applied atomically. Transactions are bounded by lock acquisition and release.
>> Read more

Transaction Boundary

The point at which a lock acquisition or release occurs. A Terracotta transaction begins at lock acquisition and ends at lock release.

Transient (Terracotta Transience)

Terracotta Transience is a mechanism to allow certain fields to be skipped during sharing, so that a few non-sharable objects do not prevent you from sharing other portions of an object graph. Terracotta also allows you to automatically run various methods or snippets of code when an object is loaded so that you can assign appropriate values to transient fields. >> Read more

W

Write Lock

A lock set to write level, allowing access to data for read/write operations. A write lock is exclusive, so that only one write operation can occur on the same data while the write lock is in effect. In the Terracotta configuration file, locks defined without a level are by default write locks. A write lock cannot grant write access to data which is under a read lock until the read lock is lifted.

Appendix

Contacting Terracotta


Contact Terracotta at the following:

Web site:  http://www.terracotta.org
Online forums:  http://forums.terracottatech.com/forums/
Information:  info@terracottatech.com

Platform Support

See Platform Support for information on which platforms are supported by Terracotta.
See the Integrations space to see the status of integrations with third-party technologies.




Copyright Information

Copyright © 2005-2007
Terracotta, Inc.
All Rights Reserved

This publication (the "Documentation") and the Terracotta software which it describes (the "Software") are protected to the maximum extent permitted under applicable law, including but not limited to, the regulations set forth in Title 17 of the United States Code, and California law. This Documentation, or any parts thereof, may not be reproduced in any form, by any method, for any purpose, without the express written consent of Terracotta. Terracotta makes no warranty, either express or implied, including but not limited to any implied warranties of merchantability or fitness for a particular purpose, with respect to the Software discussed in this Documentation, and the Documentation itself (collectively, "the Materials"). The Materials are made available solely on an "as-is" basis. In no event shall Terracotta be liable to anyone for special, collateral, incidental, indirect, punitive, exemplary, or consequential damages in connection with, or arising from the purchase or use of, the Materials. Under no circumstances and regardless of the cause of action alleged, shall Terracotta's liability exceed the purchase price of the Software described herein. Terracotta reserves the right to revise and improve its Software and Documentation as it deems fit. The Documentation describes the state of the Software at the time of publication.

Trademarks
"Terracotta," the stylized "T" logo, and "Open Terracotta" are trademarks of Terracotta. All other brand names, product names, or trademarks belong to their respective holders. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respective holders.

Government Use
Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in FAR 12.212 (Commercial Computer Software-Restricted Rights) and DFAR 267.7202 (Rights in Technical Data and Computer Software), as applicable.

Adaptavist Theme Builder Powered by Atlassian Confluence