|
1 | 1 | --- |
2 | 2 |
|
3 | | -- hosts: nodes[0] |
4 | | - |
5 | | - roles: |
6 | | - - role: postgres |
7 | | - pg_port: 15432 |
8 | | - pg_repo: https://github.com/postgrespro/postgres_cluster.git |
9 | | - pg_version_tag: master |
10 | | - pg_destroy_and_init: true |
11 | | - |
12 | | - tasks: |
13 | | - - name: build sockhub |
14 | | - shell: "make clean && make -j 4" |
15 | | - args: |
16 | | - chdir: "~/pg_cluster/src/contrib/arbiter/sockhub" |
17 | | - |
18 | | - - name: build dtm |
19 | | - shell: "make clean && make -j 4" |
20 | | - args: |
21 | | - chdir: "~/pg_cluster/src/contrib/arbiter" |
22 | | - # when: dtm_sources.changed |
23 | | - |
24 | | - - name: kill arbiter |
25 | | - shell: kill -9 `cat ~/pg_cluster/dtm_data/arbiter.pid` || true |
26 | | - |
27 | | - - name: ensure datadir for dtm exists |
28 | | - shell: "rm -rf ~/pg_cluster/dtm_data && mkdir ~/pg_cluster/dtm_data" |
29 | | - |
30 | | - - name: start dtm |
31 | | - shell: > |
32 | | - nohup ~/pg_cluster/src/contrib/arbiter/bin/arbiter |
33 | | - -d ~/pg_cluster/dtm_data -r 0.0.0.0:5431 -i 0 -l ~/pg_cluster/dtm_data/log & |
34 | | -
|
35 | | - - name: wait until dtm is available |
36 | | - wait_for: port=5431 delay=1 |
37 | | - |
38 | | - |
39 | 3 | - hosts: nodes[1]:nodes[2]:nodes[3] |
40 | 4 | # accelerate: true |
41 | 5 |
|
|
61 | 25 | set_fact: |
62 | 26 | connections: "{{ connstrs.results | map(attribute='ansible_facts.connstr') | join(', ') }}" |
63 | 27 |
|
64 | | - - name: build sockhub |
65 | | - shell: "make clean && make -j 4" |
| 28 | + - name: build raftable |
| 29 | + shell: "make clean && make -j {{makejobs}} install" |
66 | 30 | args: |
67 | | - chdir: "{{pg_src}}/contrib/arbiter/sockhub" |
| 31 | + chdir: "{{pg_src}}/contrib/raftable" |
68 | 32 |
|
69 | 33 | - name: build multimaster |
70 | 34 | shell: "make clean && make -j {{makejobs}} install" |
|
81 | 45 | - "max_wal_senders = 10" |
82 | 46 | - "wal_sender_timeout = 0" |
83 | 47 | - "max_replication_slots = 10" |
| 48 | + - "max_connections = 200" |
84 | 49 | - "max_worker_processes = 100" |
85 | | - - "shared_preload_libraries = 'multimaster'" |
86 | | - - "multimaster.arbiters = '{{groups['nodes'][0]}}:5431'" |
| 50 | + - "shared_preload_libraries = 'raftable,multimaster'" |
87 | 51 | - "multimaster.conn_strings = '{{connections}}'" |
88 | 52 | - "multimaster.node_id = {{ node_id }}" |
| 53 | + - "multimaster.buffer_size = 65536" |
89 | 54 | - "multimaster.queue_size = 1073741824" |
| 55 | + - "multimaster.arbiter_port = 5600" |
| 56 | + - "multimaster.vacuum_delay = 1" |
90 | 57 | - "multimaster.workers = 32" |
| 58 | + - "multimaster.use_dtm = 0" |
91 | 59 |
|
92 | 60 | - name: restart postgrespro |
93 | 61 | command: "{{pg_dst}}/bin/pg_ctl restart -w -D {{pg_datadir}} -l {{pg_datadir}}/pg.log" |
|
0 commit comments