Mercurial > hg > blitz_condensed
comparison test/org/dancres/blitz/LeaseReapTest.java @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3dc0c5604566 |
---|---|
1 package org.dancres.blitz; | |
2 | |
3 import java.io.Serializable; | |
4 import java.rmi.MarshalledObject; | |
5 | |
6 import net.jini.core.entry.Entry; | |
7 import net.jini.core.lease.Lease; | |
8 | |
9 import org.dancres.blitz.mangler.*; | |
10 | |
11 import org.dancres.blitz.lease.SpaceUID; | |
12 | |
13 import org.dancres.blitz.disk.Disk; | |
14 | |
15 public class LeaseReapTest { | |
16 /** | |
17 Set Reaper to run every 60 seconds | |
18 | |
19 Write 3 entries, lease expiries: 30, 90, 360 | |
20 | |
21 sync | |
22 | |
23 Wait for 2 minutes so reaper does multiple passes and verify that | |
24 deletion wasn't done more than once. | |
25 | |
26 stop - includes sync, verify that two entries were deleted and one | |
27 was saved to disk. | |
28 | |
29 <pre> | |
30 | |
31 [dan@rogue space]$ ant testreaper | |
32 Buildfile: build.xml | |
33 | |
34 init: | |
35 | |
36 compile: | |
37 | |
38 testreaper: | |
39 [java] Start space | |
40 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.config.ConfigurationFactory load | |
41 [java] INFO: Loading config from: config/blitz.config | |
42 [java] Starting debugger on: 12345 | |
43 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.TxnManager <init> | |
44 [java] INFO: Doing recovery... | |
45 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.PersistentPersonality <init> | |
46 [java] SEVERE: PersistentPersonality | |
47 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.PersistentPersonality <init> | |
48 [java] INFO: Max logs before sync: 10000 | |
49 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.PersistentPersonality <init> | |
50 [java] INFO: Reset log stream: false | |
51 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.PersistentPersonality <init> | |
52 [java] INFO: Write barrier window: 20 | |
53 [java] Jun 10, 2004 12:49:53 PM org.dancres.blitz.txn.PersistentPersonality <init> | |
54 [java] SEVERE: *** Using concurrent batcher *** | |
55 [java] Jun 10, 2004 12:49:54 PM org.dancres.blitz.txn.TxnManager <init> | |
56 [java] INFO: Recovery complete... | |
57 [java] Jun 10, 2004 12:49:54 PM org.dancres.blitz.lease.LeaseReaper <init> | |
58 [java] INFO: Reaper::EntryReaper:theReapTime: 60000 | |
59 [java] Jun 10, 2004 12:49:54 PM org.dancres.blitz.lease.LeaseReaper <init> | |
60 [java] INFO: Reaper::EntryReaper:Filter = org.dancres.blitz.TxnReapFilter@1f48262 | |
61 Jun 10, 2004 12:49:54 PM org.dancres.blitz.lease.LeaseReaper run | |
62 INFO: Reaper started up: EntryReaper | |
63 [java] Prepare entry | |
64 [java] init'd entry | |
65 [java] Do writes | |
66 [java] Flush | |
67 Write a lease | |
68 Write a lease | |
69 Write a lease | |
70 LeaseTracker bringing out the dead for: org.dancres.blitz.LeaseReapTest$TestEntry | |
71 Scanning bucket | |
72 HasLock: false | |
73 Scanning bucket | |
74 Scanning bucket | |
75 LeaseTracker claimed the dead for: org.dancres.blitz.LeaseReapTest$TestEntry | |
76 LeaseTracker bringing out the dead for: org.dancres.blitz.LeaseReapTest$TestEntry | |
77 Scanning bucket | |
78 Scanning bucket | |
79 Scanning bucket | |
80 HasLock: false | |
81 LeaseTracker claimed the dead for: org.dancres.blitz.LeaseReapTest$TestEntry | |
82 [java] Do stop | |
83 [java] Interrupting debug thread | |
84 Jun 10, 2004 12:51:55 PM org.dancres.blitz.lease.LeaseReaper run | |
85 INFO: Reaper exited: EntryReaper | |
86 Delete a lease | |
87 Lease killed | |
88 Delete a lease | |
89 Lease killed | |
90 [java] Jun 10, 2004 12:51:55 PM org.dancres.blitz.disk.WriteDaemon halt | |
91 [java] SEVERE: WriteDaemon doing halt | |
92 [java] Jun 10, 2004 12:51:55 PM org.dancres.blitz.disk.WriteDaemon halt | |
93 [java] SEVERE: WriteDaemon done halt | |
94 [java] Dumping stats | |
95 [java] 1, Memory: 2031616 of: 66650112 | |
96 [java] 2, Active Txns: 0 | |
97 [java] 3, Takes:java.lang.Object = 0 (3) | |
98 [java] 4, Reads:java.lang.Object = 0 (4) | |
99 [java] 5, Writes:java.lang.Object = 0 (5) | |
100 [java] 6, Total instance of type java.lang.Object is 0 | |
101 [java] 7, Takes:org.dancres.blitz.LeaseReapTest$TestEntry = 0 (7) | |
102 [java] 8, Reads:org.dancres.blitz.LeaseReapTest$TestEntry = 0 (8) | |
103 [java] 9, Writes:org.dancres.blitz.LeaseReapTest$TestEntry = 3 (9) | |
104 [java] 10, Total instance of type org.dancres.blitz.LeaseReapTest$TestEntry is 1 | |
105 [java] 11, Types: org.dancres.blitz.LeaseReapTest$TestEntry, | |
106 [java] 12, Blocking reads: 0, takes: 0 | |
107 | |
108 BUILD SUCCESSFUL | |
109 Total time: 2 minutes 3 seconds | |
110 </pre> | |
111 | |
112 */ | |
113 public static void main(String args[]) { | |
114 try { | |
115 System.out.println("Start space"); | |
116 | |
117 SpaceImpl mySpace = new SpaceImpl(null); | |
118 | |
119 System.out.println("Prepare entry"); | |
120 | |
121 EntryMangler myMangler = new EntryMangler(); | |
122 TestEntry myEntry = new TestEntry(); | |
123 myEntry.init(); | |
124 | |
125 System.out.println("init'd entry"); | |
126 MangledEntry myPackedEntry = myMangler.mangle(new TestEntry()); | |
127 | |
128 System.out.println("Do writes"); | |
129 | |
130 mySpace.write(myPackedEntry, null, 30 * 1000); | |
131 mySpace.write(myPackedEntry, null, 90 * 1000); | |
132 mySpace.write(myPackedEntry, null, 360 * 1000); | |
133 | |
134 System.out.println("Flush"); | |
135 | |
136 Disk.sync(); | |
137 | |
138 try { | |
139 Thread.sleep(120 * 1000); | |
140 } catch (InterruptedException anIE) { | |
141 } | |
142 | |
143 System.out.println("Do stop"); | |
144 | |
145 mySpace.stop(); | |
146 | |
147 } catch (Exception anE) { | |
148 System.err.println("Got exception :("); | |
149 anE.printStackTrace(System.err); | |
150 } | |
151 } | |
152 | |
153 public static class TestEntry implements Entry { | |
154 public String rhubarb; | |
155 public Integer count; | |
156 | |
157 public TestEntry() { | |
158 } | |
159 | |
160 public void init() { | |
161 rhubarb = "blah"; | |
162 count = new Integer(5); | |
163 } | |
164 | |
165 public String toString() { | |
166 return super.toString() + ", " + rhubarb + ", " + count; | |
167 } | |
168 } | |
169 } |