Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(store): simplify wakunode2 configuration options #1293

Merged
merged 1 commit into from
Oct 26, 2022

Conversation

LNSD
Copy link
Contributor

@LNSD LNSD commented Oct 24, 2022

The first part of the work simplifies the store configuration. Added new configuration options and deprecated the old ones.

Check for more details: #1103

The refactoring of the wakunode2 setup sequence to support the new simplified store and persistence configuration options will be performed as part of the subsequent PR.

@LNSD LNSD self-assigned this Oct 24, 2022
@status-im-auto
Copy link
Collaborator

status-im-auto commented Oct 24, 2022

Jenkins Builds

Click to see older builds (29)
Commit #️⃣ Finished (UTC) Duration Platform Result
20b68e5 #1 2022-10-24 15:28:53 ~15 min linux 📄log
✔️ 20b68e5 #1 2022-10-24 15:32:19 ~18 min macos 📦bin
20b68e5 #2 2022-10-24 16:45:37 ~12 min linux 📄log
15c606e #3 2022-10-25 10:13:39 ~13 min linux 📄log
✔️ 15c606e #2 2022-10-25 10:15:30 ~15 min macos 📦bin
ee2c766 #4 2022-10-25 11:57:32 ~12 min linux 📄log
✔️ ee2c766 #3 2022-10-25 12:01:45 ~17 min macos 📦bin
ee2c766 #5 2022-10-25 12:17:17 ~14 min linux 📄log
6afa4a6 #6 2022-10-25 13:13:01 ~6 min linux 📄log
70d2b47 #8 2022-10-25 13:28:43 ~12 min linux 📄log
✔️ 70d2b47 #5 2022-10-25 13:31:52 ~15 min macos 📦bin
bbe8a40 #6 2022-10-25 13:53:54 ~18 min macos 📄log
bbe8a40 #10 2022-10-25 13:58:29 ~14 min linux 📄log
✔️ bbe8a40 #7 2022-10-25 14:14:52 ~19 min macos 📦bin
bbe8a40 #11 2022-10-25 14:31:51 ~21 min linux 📄log
7a82e9d #12 2022-10-25 15:09:42 ~13 min linux 📄log
✔️ 7a82e9d #8 2022-10-25 15:13:07 ~16 min macos 📦bin
9191394 #13 2022-10-25 15:18:39 ~13 min linux 📄log
9191394 #9 2022-10-25 15:29:56 ~24 min macos 📄log
✔️ 48bea78 #14 2022-10-25 21:13:16 ~15 min linux 📦bin
✔️ 48bea78 #10 2022-10-25 21:13:40 ~15 min macos 📦bin
51fb912 #15 2022-10-26 08:17:56 ~9 min linux 📄log
51fb912 #11 2022-10-26 08:20:41 ~12 min macos 📄log
a8c0323 #16 2022-10-26 08:21:49 ~12 min linux 📄log
a8c0323 #12 2022-10-26 08:23:47 ~14 min macos 📄log
80cbb51 #17 2022-10-26 10:47:26 ~8 min linux 📄log
80cbb51 #13 2022-10-26 10:48:31 ~9 min macos 📄log
479172a #18 2022-10-26 10:51:13 ~8 min linux 📄log
479172a #14 2022-10-26 10:51:44 ~9 min macos 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
0baa813 #19 2022-10-26 10:58:58 ~7 min linux 📄log
0baa813 #15 2022-10-26 11:01:38 ~10 min macos 📄log
✔️ 1a4e709 #20 2022-10-26 11:48:06 ~15 min linux 📦bin
✔️ 1a4e709 #16 2022-10-26 11:49:09 ~16 min macos 📦bin

@LNSD
Copy link
Contributor Author

LNSD commented Oct 24, 2022

@jakubgs seems that the Jenkins Linux build is failing due to a missing OS dependency: libpcre

[2022-10-24T16:45:35.265Z] Hint: 295678 LOC; 85.188 sec; 1.49GiB peakmem; Release build; proj: /home/jenkins/workspace/nim-waku_prs_linux_PR-1293/tests/all_tests_v2.nim; out: /home/jenkins/workspace/nim-waku_prs_linux_PR-1293/build/all_tests_v2 [SuccessX]
[2022-10-24T16:45:35.265Z] [NimScript] exec: build/all_tests_v2
[2022-10-24T16:45:35.265Z] could not load: libpcre.so(.3|.1|)

Can you help me fix that?

@jakubgs
Copy link
Contributor

jakubgs commented Oct 24, 2022

We already install libpcre3-dev on all Linux CI hosts:
https://github.com/status-im/infra-ci/blob/fb5c3987/ansible/group_vars/ci-slave-linux.yml#L36
And libpcre3 is as well:

 > a ci-slave-linux -a 'apt -qq list --installed 2>/dev/null | grep libpcre3'  
linux-01.he-eu-hel1.ci.devel | CHANGED | rc=0 >>
libpcre3-dev/jammy-updates,jammy-security,now 2:8.39-13ubuntu0.22.04.1 amd64 [installed]
libpcre32-3/jammy-updates,jammy-security,now 2:8.39-13ubuntu0.22.04.1 amd64 [installed,automatic]
libpcre3/jammy-updates,jammy-security,now 2:8.39-13ubuntu0.22.04.1 amd64 [installed]
...

Copy link
Contributor

@rymnc rymnc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

apps/wakunode2/config.nim Outdated Show resolved Hide resolved
apps/wakunode2/config.nim Show resolved Hide resolved
@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch 6 times, most recently from 70d2b47 to bbe8a40 Compare October 25, 2022 13:34
@LNSD
Copy link
Contributor Author

LNSD commented Oct 25, 2022

I tried to add more debugging (like the error suggested by adding -d:nimDebugDlOpen but no luck:

[2022-10-25T13:58:27.047Z] [NimScript] exec: build/all_tests_v2
[2022-10-25T13:58:27.047Z] libpcre.so.3: cannot open shared object file: No such file or directory
[2022-10-25T13:58:27.047Z] libpcre.so.1: cannot open shared object file: No such file or directory
[2022-10-25T13:58:27.047Z] libpcre.so: cannot open shared object file: No such file or directory
[2022-10-25T13:58:27.047Z] could not load: libpcre.so(.3|.1|)

@jakubgs, can you manually check if those files are actually in the LD_PATH in the Jenkins CI's Linux runners?

ldconfig -p | grep libpcre.so

In Jenkins CI's macOS runners, the tests are passing. The tests pass locally on my machine (Linux Arch), but it seems they are not working in the CI pipeline.

apps/wakunode2/config.nim Outdated Show resolved Hide resolved
Copy link
Contributor

@jm-clius jm-clius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch from bbe8a40 to 7a82e9d Compare October 25, 2022 14:55
@LNSD
Copy link
Contributor Author

LNSD commented Oct 25, 2022

@jakubgs, can you manually check if those files are actually in the LD_PATH in the Jenkins CI's Linux runners?

ldconfig -p | grep libpcre.so

In Jenkins CI's macOS runners, the tests are passing. The tests pass locally on my machine (Linux Arch), but it seems they are not working in the CI pipeline.

I managed to run the command above via Jenkins job "replay" (Jenkins' job log):

[2022-10-25T14:30:52.678Z] + nix-shell --show-trace --run 'ldconfig -p | grep libpcre.so' --pure --no-out-link --keep LOCALE_ARCHIVE_2_27 --option sandbox relaxed /home/jenkins/workspace/nim-waku_prs_linux_PR-1293/shell.nix
[2022-10-25T14:30:53.499Z] ldconfig: Can't open cache file /nix/store/lkxc9m0lm2c9lxzhfxs4hsll6nx3fjsl-glibc-2.35-163/etc/ld.so.cache
[2022-10-25T14:30:53.499Z] : No such file or directory
script returned exit code 1

I am not familiar with nix... But seems that there is something wrong with the shared libraries path while running the "make tests" step.

@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch from 7a82e9d to 9191394 Compare October 25, 2022 15:05
@jakubgs
Copy link
Contributor

jakubgs commented Oct 25, 2022

Ooooooh, fuck, sorry, I totally forgot that we now use Nix for builds on Linux and Darwin. I'll push a fix in a bit.

@jakubgs
Copy link
Contributor

jakubgs commented Oct 25, 2022

There you go: 48bea789
https://github.com/status-im/nwaku/blob/48bea7891cdc0ffea5fc3d3395e7c58696fa02da/shell.nix#L19-L21

@LNSD
Copy link
Contributor Author

LNSD commented Oct 26, 2022

Given that we are still on time, I would like to decouple peerPersistence DB connection from the message store connection.

This has a "positive" impact on the configuration proposal. Please, check this comment in the associated issue: #1103 (comment)

@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch from 48bea78 to 51fb912 Compare October 26, 2022 08:08
@LNSD LNSD requested a review from jm-clius October 26, 2022 08:08
@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch from 51fb912 to a8c0323 Compare October 26, 2022 08:09
@LNSD LNSD force-pushed the feat-wakunode2-storeconf branch 3 times, most recently from 479172a to 0baa813 Compare October 26, 2022 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants