Skip to content

Commit 6d6cc40

Browse files
authored
Merge pull request #79 from semi-technologies/WVT-197_update_db_version
Refresh db version with every request until successful
2 parents b41c3c1 + d5dd556 commit 6d6cc40

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: '3.4'
22
services:
33
weaviate:
4-
image: semitechnologies/weaviate:1.14.0
4+
image: semitechnologies/weaviate:1.14.1
55
restart: on-failure:0
66
ports:
77
- "8080:8080"

utils/dbVersion.js

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,35 @@ export class DbVersionSupport {
3434
}
3535
}
3636

37-
37+
const EMPTY_VERSION = "";
3838
export class DbVersionProvider {
3939

4040
constructor(versionGetter) {
4141
this.versionGetter = versionGetter;
42-
this.versionPromise = Promise.resolve("");
42+
43+
this.emptyVersionPromise = Promise.resolve(EMPTY_VERSION);
44+
this.versionPromise = undefined;
4345
}
4446

4547
getVersionPromise() {
46-
return this.versionPromise;
48+
if (this.versionPromise) {
49+
return this.versionPromise;
50+
}
51+
return this.versionGetter().then(assignPromise.bind(this));
4752
}
4853

4954
refresh(force = false) {
50-
this.versionPromise.then(version => {
51-
if (force || version === "") {
52-
this.versionPromise = this.versionGetter();
53-
}
54-
});
55+
if (force || !this.versionPromise) {
56+
this.versionPromise = undefined;
57+
this.versionGetter().then(assignPromise.bind(this));
58+
}
59+
}
60+
}
61+
62+
function assignPromise(version) {
63+
if (version === EMPTY_VERSION) {
64+
return this.emptyVersionPromise;
5565
}
66+
this.versionPromise = Promise.resolve(version);
67+
return this.versionPromise;
5668
}

0 commit comments

Comments
 (0)