Skip to content

Commit 7fef37c

Browse files
deuscapturusdelvedor
authored andcommitted
Fix issue; node roles are defaulting to true when undefined (fal… (#967)
* Fix issue; nodeFilter was unable to filter because master, data, and ingest role were true if even they were false on the node. * Test nodesToHost of BaseConnectionPool correctly maps node roles
1 parent 90ad163 commit 7fef37c

File tree

2 files changed

+42
-3
lines changed

2 files changed

+42
-3
lines changed

lib/pool/BaseConnectionPool.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,9 @@ class BaseConnectionPool {
212212
url: new URL(address),
213213
id: ids[i],
214214
roles: Object.assign({
215-
[Connection.roles.MASTER]: true,
216-
[Connection.roles.DATA]: true,
217-
[Connection.roles.INGEST]: true,
215+
[Connection.roles.MASTER]: false,
216+
[Connection.roles.DATA]: false,
217+
[Connection.roles.INGEST]: false,
218218
[Connection.roles.ML]: false
219219
}, roles)
220220
})

test/unit/connection-pool.test.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,45 @@ test('API', t => {
474474
t.end()
475475
})
476476

477+
t.test('Should map roles', t => {
478+
const pool = new ConnectionPool({ Connection })
479+
const nodes = {
480+
a1: {
481+
http: {
482+
publish_address: 'example.com:9200'
483+
},
484+
roles: ['master', 'data', 'ingest', 'ml']
485+
},
486+
a2: {
487+
http: {
488+
publish_address: 'example.com:9201'
489+
},
490+
roles: []
491+
}
492+
}
493+
t.same(pool.nodesToHost(nodes, 'http:'), [{
494+
url: new URL('http://example.com:9200'),
495+
id: 'a1',
496+
roles: {
497+
master: true,
498+
data: true,
499+
ingest: true,
500+
ml: true
501+
}
502+
}, {
503+
url: new URL('http://example.com:9201'),
504+
id: 'a2',
505+
roles: {
506+
master: false,
507+
data: false,
508+
ingest: false,
509+
ml: false
510+
}
511+
}])
512+
513+
t.end()
514+
})
515+
477516
t.end()
478517
})
479518

0 commit comments

Comments
 (0)