CloudTran Home

 
  
 

Chapters

1 Introduction 
2 Example Application 
3 Product Concepts and Architecture 
4 Developing with CloudTran and TopLink Grid 
5 Running CloudTran 
6 The Low-Level API 
7 The Replicator 
8 Management and Performance Tuning 
9 Monitoring Cloudtran-Coherence Transactions 
10 Transaction Logging 
11 JavaDocs 


   Table Of Contents

1 Introduction
1.1 Product Overview
1.1.1 Distributed, Durable Transactions at Speed
1.1.2 Comparisons
1.2 Prerequisites
1.3 Installation Instructions
1.3.1 Using Maven
1.4 Change History
1.4.1 CloudTran For Coherence Version 2.0, July 2013
1.4.2 CloudTran For Coherence Version 2.0 Beta, March 2013
1.4.3 CloudTran For Coherence Version 1.1, August 2012
1.4.4 CloudTran For Coherence Version 1.0, March 2012
1.4.5 CloudTran For Coherence Version 0.2, October 2011
1.4.6 CloudTran For Coherence Version 0.1, June 2011
1.5 Known Issues

2 Example Application
2.1 Application Description
2.1.1 Data Structure
2.1.2 The Client
2.1.3 Client inputs
2.1.4 The Transactions
2.1.5 Output Statistics
2.2 Set Up and Run in Eclipse
2.2.1 Installation
2.3 Set Up and Run Independently of Eclipse
2.3.1 Installation
2.3.2 Database Setup
2.3.3 Configuring
2.3.4 Running

3 Product Concepts and Architecture
3.1 Background
3.1.1 Less time, higher throughput, more data and more business logic
3.1.2 The Data Grid
3.1.3 The Persistence Dilemma
3.1.4 CloudTran Transactions
3.1.5 How CloudTran Works
3.1.6 Applications
3.2 Transaction Mechanics
3.2.1 Introduction
3.2.2 Deployment Options
3.2.3 Transaction LifeCycle
3.2.4 Reading and Changing Data
3.2.4.1 Optimistic Locking
3.2.4.2 Pessimistic Locking
3.2.5 Transaction Manager Operation
3.2.6 Database Handling
3.3 Transaction Manager Steps
3.3.1 Start and Commit
3.3.2 Rollback
3.4 Manager Scalability and Repartitioning
3.4.1 Scaling
3.4.2 Repartitioning
3.5 Isolator Performance and Repartitioning
3.5.1 How The Isolator Works: Primary Key Generation
3.5.2 How The Isolator Works: Transaction Isolation
3.5.3 Isolator Performance
3.5.4 Scaling the Isolator
3.5.5 Repartitioning and the Isolator

4 Developing with CloudTran and TopLink Grid
4.1 Changing a TopLink Grid application to use CloudTran
4.1.1 Java Changes
4.1.2 persistence.xml
4.1.3 coherence-cache-config
4.1.4 POF Config
4.1.5 The configuration file 'config.properties'
4.2 Problems
4.2.1 Exceptions
4.2.2 Timeouts
4.2.3 Database Problems
4.3 Caches And Threads
4.3.1 Configuring Threads
4.3.1.1 Manager Threads
4.3.1.2 Application Threads
4.3.2 Application Caches
4.4 CloudTran Configuration
4.4.1 Configuration Timing and Priority
4.4.2 The configuration file 'config.properties'
4.5 Default 'config.properties' File
4.5.1 'config.propertiesReaderClass' Property
4.5.2 'ct.client.cacheWrite.threads' Property
4.5.3 'ct.client.primaryKeyPreallocationSize' Property
4.5.4 'ct.client.threads' Property
4.5.5 'ct.coherence.decoration' Property
4.5.6 'ct.coherence.mvcc' Property
4.5.7 'ct.coherence.mvcc.readRetryCount' Property
4.5.8 'ct.coherence.mvcc.readRetryDelayMillis' Property
4.5.9 'ct.coherence.prepareFromManager' Property
4.5.10 'ct.coherence.toplinkgrid.wrapperClasses' Property
4.5.11 'ct.coherence.useClientCache' Property
4.5.12 'ct.config.overrides' Property
4.5.13 'ct.init.user.class' Property
4.5.14 'ct.isolator.itemsPerBatch' Property
4.5.15 'ct.isolator.maxMicrosWaitPerBatch' Property
4.5.16 'ct.jmx.rmi.port' Property
4.5.17 'ct.logger.compress' Property
4.5.18 'ct.logger.directory' Property
4.5.19 'ct.logger.diskBlockSize' Property
4.5.20 'ct.logger.diskSpaceLowBusyCount' Property
4.5.21 'ct.logger.diskSpaceLowWarningCount' Property
4.5.22 'ct.logger.disposer' Property
4.5.23 'ct.logger.fileBaseName' Property
4.5.24 'ct.logger.fileDatePattern' Property
4.5.25 'ct.logger.fileExtension' Property
4.5.26 'ct.logger.fileSizeMB' Property
4.5.27 'ct.logger.logAfterCommit' Property
4.5.28 'ct.logger.logBeforeCommit' Property
4.5.29 'ct.logger.maxWriteSize' Property
4.5.30 'ct.logger.threadCount' Property
4.5.31 'ct.logger.zapLogFiles' Property
4.5.32 'ct.manager.coherence.applicationCacheServiceThreadCount' Property
4.5.33 'ct.manager.coherence.invocationServiceThreadCount' Property
4.5.34 'ct.manager.coherence.isolatorControlCacheServiceThreadCount' Property
4.5.35 'ct.manager.coherence.manager2IsolatorThreadCount' Property
4.5.36 'ct.manager.coherence.managerCacheServiceThreadCount' Property
4.5.37 'ct.manager.coherence.nTooBusyServiceThreads' Property
4.5.38 'ct.manager.coherence.primaryKeyCacheServiceThreadCount' Property
4.5.39 'ct.manager.defaultTimeoutSeconds' Property
4.5.40 'ct.manager.distributedCommit.threads' Property
4.5.41 'ct.manager.event.listener' Property
4.5.42 'ct.manager.llapi.persisterClass' Property
4.5.43 'ct.manager.logwriteBufferTime' Property
4.5.44 'ct.manager.maxTransactions' Property
4.5.45 'ct.manager.microsPerLogWrite' Property
4.5.46 'ct.manager.mvccTimestampGenerator' Property
4.5.47 'ct.manager.persistLingerTimeMillis' Property
4.5.48 'ct.manager.primaryKeyAllocationChunkSize' Property
4.5.49 'ct.manager.startBackoffMS' Property
4.5.50 'ct.manager.txStatusLingerTimeMinutes' Property
4.5.51 'ct.persist.maxDatasourceThreadCount' Property
4.5.52 'ct.persist.maxRowsForDataSourceTransaction' Property
4.5.53 'ct.persist.threadsPerDatasource' Property
4.5.54 'ct.production' Property
4.5.55 'ct.replayer.continueAfterError' Property
4.5.56 'ct.replayer.retryCount' Property
4.5.57 'ct.replicator.canReplicate' Property
4.5.58 'ct.replicator.dataCenter' Property
4.5.59 'ct.replicator.electer.class' Property
4.5.60 'ct.replicator.enabled' Property
4.5.61 'ct.replicator.inbound.remoteDcName' Property
4.5.62 'ct.replicator.initial.state' Property
4.5.63 'ct.replicator.link.initializer' Property
4.5.64 'ct.replicator.localStore.class' Property
4.5.65 'ct.replicator.max.unAckedPackets' Property
4.5.66 'ct.replicator.maxObjectSizeKb' Property
4.5.67 'ct.replicator.outbound.remoteDcName' Property
4.5.68 'ct.replicator.passive' Property
4.5.69 'ct.replicator.put.direct' Property
4.5.70 'ct.replicator.ssd.blockSize' Property
4.5.71 'ct.replicator.ssd.directory1' Property
4.5.72 'ct.replicator.ssd.directory2' Property
4.5.73 'ct.replicator.ssd.fileBasename' Property
4.5.74 'ct.replicator.ssd.fileExtension' Property
4.5.75 'ct.replicator.ssd.fileSizeMB' Property
4.5.76 'ct.replicator.ssd.init' Property
4.5.77 'ct.replicator.ssd.threadCount' Property
4.5.78 'ct.replicator.ssd.totalSizeMB' Property
4.5.79 'ct.replicator.toManagerThreadCount' Property
4.5.80 'ct.replicator.txToBuffer' Property
4.5.81 'ct.timesync.callsPerBlast' Property
4.5.82 'trace.*' Property
4.5.83 'trace.adjustNanoTimer' Property
4.5.84 'trace.assert' Property
4.5.85 'trace.cacheEvents' Property
4.5.86 'trace.eventHistory' Property
4.5.87 'trace.eventHistory.waitTime' Property
4.5.88 'trace.file' Property
4.5.89 'trace.fileSizeInMegaBytes' Property
4.5.90 'trace.formatForDiff' Property
4.5.91 'trace.messages' Property
4.5.92 'trace.module' Property
4.5.93 'trace.operation.timer' Property
4.5.94 'trace.wireshark' Property

5 Running CloudTran
5.1 Planning
5.1.1 Deployment Styles
5.1.1.1 Extend Clients
5.1.1.2 Clients
5.1.1.3 Managers
5.1.1.4 Isolators
5.1.2 Enabling Application Cache Storage
5.2 Running
5.2.1 Jars
5.2.2 Module Order
5.2.3 Running
5.2.4 Custom Initialization

6 The Low-Level API
6.1 Overview: The Low-Level API for Cache Operations
6.1.1 Cache Operations
6.1.2 Additional Cache Features
6.1.3 Restrictions
6.2 MVCC Transaction Handling
6.2.1 MVCC Compared With Pessimistic Locking
6.2.2 MVCC or PL Caches
6.2.3 Isolation Levels
6.2.4 Update Checks
6.2.4.1 Write Skew Anomaly
6.2.5 Client Caching
6.2.6 Prepare From Manager
6.2.7 Writes Per Updated Entry
6.2.8 Writes Per Read Entry
6.2.9 Scenarios
6.2.10 Consistent Reads in MVCC
6.3 Timestamps for MVCC
6.3.1 Default MVCC Timestamps
6.3.2 Distributed MVCC Timestamps
6.3.2.1 Accuracy
6.3.2.2 Configuring Distributed Timestamps
6.4 Persistence, Logging and Propagation at the Manager

7 The Replicator
7.1 Replicator Overview
7.1.1 Overriding the Replicator
7.1.2 Replicator Election
7.1.3 Replication Processing
7.2 Local Store
7.2.1 The Local Store
7.2.2 LocalStore API
7.2.3 LocalStore Implementations
7.2.4 SSDLocalStore Configuration

8 Management and Performance Tuning
8.1 How to launch and use JConsole
8.2 Management bean overview
8.3 The most significant attributes
8.3.1 Tunable attributes
8.3.2 Read only attributes
8.4 The Application life cycle bean
8.4.1 Read only attributes
8.4.2 Operations
8.5 The Coordinator bean
8.5.1 Tunable attributes
8.5.2 Read only attributes
8.6 The Datasource bean
8.6.1 Tunable attributes
8.6.2 Read only attributes
8.7 The Resolve transactions to cohorts bean
8.7.1 Tunable attributes
8.7.2 Read only attributes
8.8 The Cohort bean
8.8.1 Tunable attributes
8.8.2 Read only attributes
8.9 The Coordinator crash test bean
8.9.1 Operations
8.10 The Cohort crash test bean
8.10.1 Operations

9 Monitoring Cloudtran-Coherence Transactions
9.1 RTView OC Monitor Screens
9.1.1 Installation
9.1.2 Overview
9.1.3 The Transaction Timing Statistics
9.1.4 Dynamic Manager Configuration Screen
9.1.5 Isolator Statistics
9.2 Operation Timers
9.2.1 Operation Timer Data Shown in the Isolator Logfile
9.2.2 Operation Timer Data Shown in the Manager Logfile
9.2.3 Operation Timer Data Shown in the Client Logfile
9.3 MBeans and JConsole
9.3.1 Access
9.3.2 Viewing with JConsole

10 Transaction Logging
10.1 Overview
10.1.1 Use a Separate Disk
10.1.2 Transaction Logging Operation Overview
10.1.3 Configuring Logging
10.2 Development
10.2.1 Log files
10.2.2 The Assumption Behind CloudTran Logging
10.2.3 Disposing of log files
10.2.4 Transaction Logging Speed and Configuration
10.2.5 Structure of the Log File
10.3 Log File Replay
10.3.1 What's Replay for?
10.3.2 Running replay
10.3.3 Backup
10.3.4 How Replay Finds Transactions To Persist
10.3.5 Committing Transactions During Replay
10.3.6 Disposing of Log Files
10.3.7 How to clear the log directory manually?

11 JavaDocs


Copyright (c) 2008-2013 CloudTran Inc.