Contents

Chapter 1: 
 
  • 1.1 ECP Features
  • 1.2 Uses for ECP
  • 1.3 ECP Architecture
  • 1.3.1 Databases and Namespaces
  • 1.3.2 ECP Clients and Servers
  • 1.3.3 ECP Connections and Recovery
  • Chapter 2: 
     
  • 2.1 Configuring an ECP Server
  • 2.1.1 Restricting ECP Client Access
  • 2.2 Configuring an ECP Client
  • 2.3 Configuring ECP Remote Data Access
  • Chapter 3: 
     
  • 3.1 ECP Connection Information
  • 3.2 ECP Connection States
  • 3.2.1 Client Connection States
  • 3.2.2 Server Connection States
  • 3.3 ECP Connection Operations
  • Chapter 4: 
     
  • 4.1 ECP Recovery
  • 4.2 Forced Disconnects
  • 4.3 Performance Considerations
  • 4.3.1 Repeated References to Undefined Globals
  • 4.3.2 Big String Nodes
  • 4.3.3 The $Increment Function
  • 4.4 ECP-related Errors
  • 4.4.1 <NETWORK> Errors
  • 4.4.2 Rollback Only Condition
  • Chapter 5: 
     
  • 5.1 DCP Configuration
  •  
    Appendix A: 
     
  • A.1 ECP Recovery Guarantees
  • A.1.1 In-order Updates Guarantee
  • A.1.2 ECP Lock Guarantee
  • A.1.3 Clusters Lock Guarantee
  • A.1.4 Rollback Guarantee
  • A.1.5 Commit Guarantee
  • A.1.6 Transactions and Locks Guarantee
  • A.1.7 ECP Rollback Only Guarantee
  • A.1.8 ECP Transaction Recovery Guarantee
  • A.1.9 ECP Lock Recovery Guarantee
  • A.1.10 $Increment Ordering Guarantee
  • A.2 ECP Recovery Limitations
  • A.2.1 ECP and Clusters $Increment Limitation
  • A.2.2 ECP Cache Liveness Limitation
  • A.2.3 ECP Routine Revalidation Limitation
  • A.2.4 Conflicting, Non-Locked Change Breaks Rollback
  • A.2.5 Kill of Large Global in Transaction Breaks Rollback
  • A.2.6 Journal Discontinuity Breaks Rollback
  • A.2.7 ECP Can Miss Error After Recovery
  • A.2.8 Partial Set or Kill Leads to Journal Mismatch
  • A.2.9 Loose Ordering in Cluster Failover or Restore
  • A.2.10 Dirty Data Reads When Cluster Slave Crashes
  • A.2.11 Dirty Data Reads in ECP Without Locking
  • A.2.12 Asynchronous TCommit Converts to Rollback