@@ -64,7 +64,7 @@ const (
6464 PgPort = 5432
6565)
6666
67- func dtmd (bin string , datadir string , servers []string , id int , wg * sync.WaitGroup ) {
67+ func arbiter (bin string , datadir string , servers []string , id int , wg * sync.WaitGroup ) {
6868 argv := []string {
6969 bin ,
7070 "-d" , datadir ,
@@ -75,7 +75,7 @@ func dtmd(bin string, datadir string, servers []string, id int, wg *sync.WaitGro
7575 }
7676 log .Println (argv )
7777
78- name := "dtmd " + datadir
78+ name := "arbiter " + datadir
7979 c := make (chan string )
8080
8181 go cmd_to_channel (argv , name , c )
@@ -103,14 +103,23 @@ func initdb(bin string, datadir string) {
103103 }
104104}
105105
106- func postgres (bin string , datadir string , dtmservers []string , port int , nodeid int , wg * sync.WaitGroup ) {
106+ func initarbiter (arbiterdir string ) {
107+ if err := os .RemoveAll (arbiterdir ); err != nil {
108+ log .Fatal (err )
109+ }
110+ if err := os .MkdirAll (arbiterdir , os .ModeDir | 0777 ); err != nil {
111+ log .Fatal (err )
112+ }
113+ }
114+
115+ func postgres (bin string , datadir string , arbiters []string , port int , nodeid int , wg * sync.WaitGroup ) {
107116 argv := []string {
108117 bin ,
109118 "-D" , datadir ,
110119 "-p" , strconv .Itoa (port ),
111120 "-c" , "dtm.buffer_size=65536" ,
112121// "-c", "dtm.buffer_size=0",
113- "-c" , "dtm.servers=" + strings .Join (dtmservers , "," ),
122+ "-c" , "dtm.servers=" + strings .Join (arbiters , "," ),
114123 "-c" , "autovacuum=off" ,
115124 "-c" , "fsync=off" ,
116125 "-c" , "synchronous_commit=on" ,
@@ -166,38 +175,41 @@ func main() {
166175 prefix := get_prefix (srcroot )
167176
168177 bin := map [string ]string {
169- "dtmd " : srcroot + "/contrib/pg_dtm/dtmd/ bin/dtmd " ,
178+ "arbiter " : srcroot + "/contrib/arbiter/ bin/arbiter " ,
170179 "initdb" : prefix + "/bin/initdb" ,
171180 "postgres" : prefix + "/bin/postgres" ,
172181 }
173182
174183 datadirs := []string {"/tmp/data0" , "/tmp/data1" , "/tmp/data2" }
175- dtmdirs := []string {"/tmp/dtm0 " , "/tmp/dtm1 " , "/tmp/dtm2 " }
184+ arbiterdirs := []string {"/tmp/arbiter0 " , "/tmp/arbiter1 " , "/tmp/arbiter2 " }
176185
177186 check_bin (& bin );
178187
179188 if doInitDb {
180189 for _ , datadir := range datadirs {
181190 initdb (bin ["initdb" ], datadir )
182191 }
192+ for _ , arbiterdir := range arbiterdirs {
193+ initarbiter (arbiterdir )
194+ }
183195 }
184196
185197 var wg sync.WaitGroup
186198
187- var dtmservers []string
188- for i := range dtmdirs {
189- dtmservers = append (dtmservers , DtmHost + ":" + strconv .Itoa (DtmPort - i ))
199+ var arbiters []string
200+ for i := range arbiterdirs {
201+ arbiters = append (arbiters , DtmHost + ":" + strconv .Itoa (DtmPort - i ))
190202 }
191- for i , dir := range dtmdirs {
203+ for i , dir := range arbiterdirs {
192204 wg .Add (1 )
193- go dtmd (bin ["dtmd " ], dir , dtmservers , i , & wg )
205+ go arbiter (bin ["arbiter " ], dir , arbiters , i , & wg )
194206 }
195207
196208 time .Sleep (3 * time .Second )
197209
198210 for i , dir := range datadirs {
199211 wg .Add (1 )
200- go postgres (bin ["postgres" ], dir , dtmservers , PgPort + i , i , & wg )
212+ go postgres (bin ["postgres" ], dir , arbiters , PgPort + i , i , & wg )
201213 }
202214
203215 wg .Wait ()
0 commit comments