Skip to content

Commit 0560d12

Browse files
authored
Merge pull request #30 from laudis-technologies/debug
2 parents efc38fc + c9819c2 commit 0560d12

14 files changed

+771
-219
lines changed

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pipeline {
2828
steps {
2929
sh 'docker-compose -f docker/docker-compose.yml -p $BRANCH_NAME down --volumes --remove-orphans'
3030
sh 'docker-compose -f docker/docker-compose.yml -p $BRANCH_NAME up -d --force-recreate --remove-orphans'
31-
sh 'sleep 10' // Wait for the servers to complete booting
31+
sh 'sleep 30' // Wait for the servers to complete booting
3232
sh 'docker-compose -f docker/docker-compose.yml -p $BRANCH_NAME run client-80 php vendor/bin/phpunit'
3333
sh 'docker-compose -f docker/docker-compose.yml -p $BRANCH_NAME run client-74 php vendor/bin/phpunit'
3434
}

docker-compose.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ services:
1818
- .:/opt/project
1919
depends_on:
2020
- neo4j-42
21+
- core1
22+
- core2
23+
- core3
24+
- readreplica1
2125
expose:
2226
- 9000
2327
environment:
@@ -26,8 +30,97 @@ services:
2630
networks:
2731
- neo4j
2832
image: neo4j:4.2
33+
healthcheck:
34+
test: neo4j status
2935
expose:
3036
- 7474
3137
- 7687
3238
environment:
3339
- NEO4J_AUTH=neo4j/test
40+
core1:
41+
image: neo4j:4.2-enterprise
42+
healthcheck:
43+
test: neo4j status
44+
networks:
45+
- neo4j
46+
expose:
47+
- 7474
48+
- 7686
49+
- 5000
50+
- 6000
51+
- 7000
52+
environment:
53+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
54+
- NEO4J_AUTH=neo4j/test
55+
- NEO4J_dbms_mode=CORE
56+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core1:5000
57+
- NEO4J_causalClustering_transactionAdvertisedAddress=core1:6000
58+
- NEO4J_causalClustering_raftAdvertisedAddress=core1:7000
59+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
60+
- NEO4J_causal__clustering_disable__middleware__logging=false
61+
- NEO4J_dbms_connectors_default__advertised__address=core1
62+
core2:
63+
image: neo4j:4.2-enterprise
64+
healthcheck:
65+
test: neo4j status
66+
networks:
67+
- neo4j
68+
expose:
69+
- 7474
70+
- 7686
71+
- 5000
72+
- 6000
73+
- 7000
74+
environment:
75+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
76+
- NEO4J_AUTH=neo4j/test
77+
- NEO4J_dbms_mode=CORE
78+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core2:5000
79+
- NEO4J_causalClustering_transactionAdvertisedAddress=core2:6000
80+
- NEO4J_causalClustering_raftAdvertisedAddress=core2:7000
81+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
82+
- NEO4J_dbms_connectors_default__advertised__address=core2
83+
84+
core3:
85+
image: neo4j:4.2-enterprise
86+
healthcheck:
87+
test: neo4j status
88+
networks:
89+
- neo4j
90+
expose:
91+
- 7474
92+
- 7686
93+
- 5000
94+
- 6000
95+
- 7000
96+
environment:
97+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
98+
- NEO4J_AUTH=neo4j/test
99+
- NEO4J_dbms_mode=CORE
100+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core3:5000
101+
- NEO4J_causalClustering_transactionAdvertisedAddress=core3:6000
102+
- NEO4J_causalClustering_raftAdvertisedAddress=core3:7000
103+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
104+
- NEO4J_dbms_connectors_default__advertised__address=core3
105+
106+
readreplica1:
107+
image: neo4j:4.2-enterprise
108+
healthcheck:
109+
test: neo4j status
110+
networks:
111+
- neo4j
112+
expose:
113+
- 7474
114+
- 7686
115+
- 5000
116+
- 6000
117+
- 7000
118+
environment:
119+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
120+
- NEO4J_AUTH=neo4j/test
121+
- NEO4J_dbms_mode=READ_REPLICA
122+
- NEO4J_causalClustering_discoveryAdvertisedAddress=readreplica1:5000
123+
- NEO4J_causalClustering_transactionAdvertisedAddress=readreplica1:6000
124+
- NEO4J_causalClustering_raftAdvertisedAddress=readreplica1:7000
125+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
126+
- NEO4J_dbms_connectors_default__advertised__address=readreplica1

docker/docker-compose.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,91 @@ services:
8484
- 7687
8585
environment:
8686
- NEO4J_AUTH=neo4j/test
87+
core1:
88+
image: neo4j:4.2-enterprise
89+
healthcheck:
90+
test: neo4j status
91+
networks:
92+
- neo4j
93+
expose:
94+
- 7474
95+
- 7686
96+
- 5000
97+
- 6000
98+
- 7000
99+
environment:
100+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
101+
- NEO4J_AUTH=neo4j/test
102+
- NEO4J_dbms_mode=CORE
103+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core1:5000
104+
- NEO4J_causalClustering_transactionAdvertisedAddress=core1:6000
105+
- NEO4J_causalClustering_raftAdvertisedAddress=core1:7000
106+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
107+
- NEO4J_causal__clustering_disable__middleware__logging=false
108+
- NEO4J_dbms_connectors_default__advertised__address=core1
109+
core2:
110+
image: neo4j:4.2-enterprise
111+
healthcheck:
112+
test: neo4j status
113+
networks:
114+
- neo4j
115+
expose:
116+
- 7474
117+
- 7686
118+
- 5000
119+
- 6000
120+
- 7000
121+
environment:
122+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
123+
- NEO4J_AUTH=neo4j/test
124+
- NEO4J_dbms_mode=CORE
125+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core2:5000
126+
- NEO4J_causalClustering_transactionAdvertisedAddress=core2:6000
127+
- NEO4J_causalClustering_raftAdvertisedAddress=core2:7000
128+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
129+
- NEO4J_dbms_connectors_default__advertised__address=core2
130+
131+
core3:
132+
image: neo4j:4.2-enterprise
133+
healthcheck:
134+
test: neo4j status
135+
networks:
136+
- neo4j
137+
expose:
138+
- 7474
139+
- 7686
140+
- 5000
141+
- 6000
142+
- 7000
143+
environment:
144+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
145+
- NEO4J_AUTH=neo4j/test
146+
- NEO4J_dbms_mode=CORE
147+
- NEO4J_causalClustering_discoveryAdvertisedAddress=core3:5000
148+
- NEO4J_causalClustering_transactionAdvertisedAddress=core3:6000
149+
- NEO4J_causalClustering_raftAdvertisedAddress=core3:7000
150+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
151+
- NEO4J_dbms_connectors_default__advertised__address=core3
152+
153+
readreplica1:
154+
image: neo4j:4.2-enterprise
155+
healthcheck:
156+
test: neo4j status
157+
networks:
158+
- neo4j
159+
expose:
160+
- 7474
161+
- 7686
162+
- 5000
163+
- 6000
164+
- 7000
165+
environment:
166+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
167+
- NEO4J_AUTH=neo4j/test
168+
- NEO4J_dbms_mode=READ_REPLICA
169+
- NEO4J_causalClustering_discoveryAdvertisedAddress=readreplica1:5000
170+
- NEO4J_causalClustering_transactionAdvertisedAddress=readreplica1:6000
171+
- NEO4J_causalClustering_raftAdvertisedAddress=readreplica1:7000
172+
- NEO4J_causalClustering_initialDiscoveryMembers=core1:5000,core2:5000,core3:5000
173+
- NEO4J_dbms_connectors_default__advertised__address=readreplica1
87174

src/ClientBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ public function addHttpConnection(string $alias, string $url, HttpInjections $in
6363
$injections = $injections ?? new HttpInjections();
6464
$factory = $injections->requestFactory();
6565
$requestFactory = new RequestFactory($factory, $injections->streamFactory(), new HttpCypherFormatter());
66-
$conneciton = new HttpDriver($parse, new VersionDiscovery($requestFactory, $injections->client()), $injections);
67-
$this->connectionPool->put($alias, $conneciton);
66+
$connection = new HttpDriver($parse, new VersionDiscovery($requestFactory, $injections->client()), $injections);
67+
$this->connectionPool->put($alias, $connection);
6868

6969
return $this;
7070
}

src/Enum/RoutingRoles.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Laudis Neo4j package.
5+
*
6+
* (c) Laudis technologies <http://laudis.tech>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Laudis\Neo4j\Enum;
13+
14+
use Laudis\TypedEnum\TypedEnum;
15+
16+
/**
17+
* @method static RoutingRoles LEADER()
18+
* @method static RoutingRoles FOLLOWER()
19+
* @method static RoutingRoles ROUTE()
20+
*
21+
* @extends TypedEnum<string>
22+
*/
23+
final class RoutingRoles extends TypedEnum
24+
{
25+
private const LEADER = 'WRITE';
26+
private const FOLLOWER = 'READ';
27+
private const ROUTE = 'ROUTE';
28+
}

0 commit comments

Comments
 (0)