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

Improve Memgraph's startup process #2017

Merged
merged 6 commits into from May 15, 2024
Merged

Conversation

antoniofilipovic
Copy link
Collaborator

@antoniofilipovic antoniofilipovic commented May 8, 2024

Description

From now on:
The Bolt server asserts (and server stops) if it can't get started as Memgraph instance must have a dedicated port for the bolt server. Silent fail around HTTP (metrics) and WebSocket servers are still permissible, but better logged

This diff applies changes from hypothesis testing from these two PRs:

to increase high-availability logging verbosity in e2e tests and wrap-around bolt server, websocket server and HTTP server ASSERTs so we are certain on which part has test failed.

Currently, there are a lot of silent fails, and no logging.

LoggerSink won't be added to WSS if failure happened. If creating auth folder failed, Memgraph's initialization will be stopped.

[master < Task] PR

  • Provide the full content or a guide for the final git message
    • Improve Memgraph's startup process

CI Testing Labels

Please select the appropriate CI test labels (CI -build=build-name -test=test-suite)

Documentation checklist

  • Add the documentation label tag
  • Add the bug / feature label tag
  • Add the milestone for which this feature is intended
    • If not known, set for a later milestone
  • Write a release note, including added/changed clauses
    • If creating Bolt server fails, Memgraph won't be started. Failures in creating websocket and http server won't crash Memgraph. If creating websocket server fails, LoggerSink won't be added to it. Memgraph will crash if authentication folder cannot be created.
  • Link the documentation PR here
    • [Documentation PR link]
  • Tag someone from docs team in the comments

@antoniofilipovic antoniofilipovic added Docs - changelog only Docs - changelog only CI -build=community -test=core Run community build and core tests on push CI -build=coverage -test=core Run coverage build and core tests on push CI -build=jepsen -test=core Run jepsen build and core tests on push CI -build=debug -test=core Run debug build and core tests on push CI -build=debug -test=integration Run debug build and integration tests on push CI -build=release -test=core Run release build and core tests on push CI -build=release -test=e2e Run release build and e2e tests on push CI -build=release -test=stress Run release build and stress tests on push CI -build=release -test=benchmark Run release build and benchmark on push labels May 8, 2024
@antoniofilipovic antoniofilipovic added this to the mg-v2.17.0 milestone May 8, 2024
@as51340 as51340 marked this pull request as ready for review May 9, 2024 06:56
@as51340 as51340 requested a review from Ignition May 9, 2024 06:56
@as51340 as51340 force-pushed the apply-e2e-test-flakiness-fixes branch 3 times, most recently from 858afa0 to 007557b Compare May 14, 2024 05:43
@as51340 as51340 changed the title Apply e2e tests flakiness fixes Improve Memgraph's startup process May 14, 2024
@as51340 as51340 added bug bug Docs needed Docs needed and removed Docs - changelog only Docs - changelog only labels May 14, 2024
@as51340
Copy link
Contributor

as51340 commented May 14, 2024

@kgolubic RN is above, not sure if docs needed.

@as51340 as51340 enabled auto-merge May 14, 2024 09:36
@as51340 as51340 force-pushed the apply-e2e-test-flakiness-fixes branch 2 times, most recently from 04ad636 to 29d871a Compare May 14, 2024 11:12
@as51340 as51340 force-pushed the apply-e2e-test-flakiness-fixes branch from 29d871a to ebd4ddc Compare May 14, 2024 11:17
@as51340 as51340 added this pull request to the merge queue May 14, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 14, 2024
@as51340 as51340 enabled auto-merge May 14, 2024 13:41
Copy link

sonarcloud bot commented May 14, 2024

Quality Gate Passed Quality Gate passed

Issues
3 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@as51340 as51340 added this pull request to the merge queue May 14, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 14, 2024
@as51340 as51340 added this pull request to the merge queue May 15, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 15, 2024
@as51340 as51340 added this pull request to the merge queue May 15, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 15, 2024
@antoniofilipovic antoniofilipovic added this pull request to the merge queue May 15, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 15, 2024
@as51340 as51340 added this pull request to the merge queue May 15, 2024
Merged via the queue into master with commit dd58c06 May 15, 2024
11 checks passed
@as51340 as51340 deleted the apply-e2e-test-flakiness-fixes branch May 15, 2024 10:28
@antoniofilipovic antoniofilipovic added Docs - changelog only Docs - changelog only and removed Docs needed Docs needed labels May 16, 2024
@antoniofilipovic
Copy link
Collaborator Author

@kgolubic RN: The Bolt server needs mapping to its port otherwise server won't start, metrics server and websocket server can have silent fail.

@kgolubic
Copy link
Contributor

@antoniofilipovic I will use this as RN:

Memgraph will now fail to start if the Bolt server cannot be created, ensuring a dedicated port is available. Failures in creating the WebSocket and HTTP servers will no longer crash Memgraph but will be logged more effectively. If the WebSocket server fails, the LoggerSink will not be added to it. Additionally, Memgraph will crash if the authentication folder cannot be created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking bug bug CI -build=community -test=core Run community build and core tests on push CI -build=coverage -test=core Run coverage build and core tests on push CI -build=debug -test=core Run debug build and core tests on push CI -build=debug -test=integration Run debug build and integration tests on push CI -build=jepsen -test=core Run jepsen build and core tests on push CI -build=release -test=benchmark Run release build and benchmark on push CI -build=release -test=core Run release build and core tests on push CI -build=release -test=e2e Run release build and e2e tests on push CI -build=release -test=stress Run release build and stress tests on push Docs - changelog only Docs - changelog only
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants