org.objectweb.cjdbc.scenario.users
Class WillemScenario

java.lang.Object
  extended byorg.objectweb.cjdbc.scenario.users.WillemScenario

public class WillemScenario
extends java.lang.Object

Test case provided by Willem Cazander for a duplicate key in logtable.

 First create an table on both backend nodes:
 
  create table test (
  test integer not null
  );
 
  Set the initial checkpoints:
 
  m4ncluster(admin) > disable node1
  m4ncluster(admin) > setCheckpoint node1 emty1
  m4ncluster(admin) > enable node1 emty1
 
  m4ncluster(admin) > disable node2
  m4ncluster(admin) > setCheckpoint node2 emty2
  m4ncluster(admin) > enable node2 emty2 
 
  Start the load test:
 
  java -cp .:c-jdbc-driver.jar WillemScenario
 
  Disable an node:
 
  m4ncluster(admin) > disable node1
  Disabling backend node1 with no checkpoint
 
  Then I get the following error:
 
  2005-02-25 13:54:17,969 INFO  controller.RequestManager.m4ncluster Setting new virtual database schema.
  2005-02-25 14:00:10,168 INFO  controller.loadbalancer.RAIDb1 Removing blocking task worker thread for backend node1
  2005-02-25 14:00:10,168 INFO  controller.loadbalancer.RAIDb1 Removing non blocking task worker thread for backend node1
  2005-02-25 14:00:10,173 ERROR controller.backend.BackendStateListener Could not store informatione for backend:node1
  java.sql.SQLException: Unable to update checkpoint 'emty1' for backend:node1
  at org.objectweb.cjdbc.controller.recoverylog.RecoveryLog.storeBackendInfo(RecoveryLog.java:1226)
 
 

Version:
1.0
Author:
Willem Cazander , Emmanuel Cecchet

Field Summary
(package private)  java.sql.Connection connection
           
(package private)  java.lang.String driver
           
(package private)  java.lang.String password
           
(package private)  java.util.Random random
           
(package private)  int records
           
(package private)  java.lang.String url
           
(package private)  java.lang.String username
           
(package private)  long waitTime
           
 
Constructor Summary
WillemScenario()
          Creates a new WillemScenario object
 
Method Summary
 void fillDB()
          Fill the database
static void main(java.lang.String[] args)
          Main method
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

driver

java.lang.String driver

url

java.lang.String url

username

java.lang.String username

password

java.lang.String password

records

int records

waitTime

long waitTime

connection

java.sql.Connection connection

random

java.util.Random random
Constructor Detail

WillemScenario

public WillemScenario()
Creates a new WillemScenario object

Method Detail

fillDB

public void fillDB()
Fill the database


main

public static void main(java.lang.String[] args)
Main method

Parameters:
args - arguements (ignored)


Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.