-
Notifications
You must be signed in to change notification settings - Fork 2
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: avoid concurrent writes to jena #1577
Conversation
fe284fc
to
a11b095
Compare
fb5d1f5
to
24fa704
Compare
acceptance-tests/src/test/scala/io/renku/graph/acceptancetests/db/TriplesStore.scala
Outdated
Show resolved
Hide resolved
This looks really cool! Cannot wait to see it in action :) I couldn't approve it as it's still in draft but feel free to merge it whenever you feel it's ready. |
You can access the deployment of this PR at https://renku-ci-gr-1577.dev.renku.ch |
@@ -74,7 +75,9 @@ trait TSProvisioning | |||
sleep((5 seconds).toMillis) | |||
} | |||
|
|||
`wait for events to be processed`(project.id, accessToken, commitIds.size) | |||
val items = eventLogClient.getEvents(project.id.asLeft).unsafeRunSync().size |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, my idea was slightly different. What I imagined was to pass the expected number of events to the wait for events to be processed
and only there call the new eventLogClient.getEvents
and check if the expected number equals the size from the getEvents
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But why would we want to first "guess" and then check? I thought this is more of a helper method to only wait for things so the tests can continue, not really part of the test?
b5d1129
to
dc23989
Compare
dc23989
to
b345f06
Compare
b345f06
to
95f89ff
Compare
95f89ff
to
6082513
Compare
This PR makes the event handlers writing to TS sequentially to avoid concurrent writes that lead to duplicates.
/deploy #persist extra-values=core.sentry.dsn=https://0cc02f3a02d3474d9f7e90915873ab4d@sentry.dev.renku.ch/2,core.sentry.environment=renku-dev,core.sentry.enabled=true