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
Refactor: Use state from akka-apps for bbb-web API requests #19440
base: develop
Are you sure you want to change the base?
Conversation
@paultrudel Tangential question, out of curiosity: do we plan to extend the gRPC/protobuf usage to the rest of the internal messages/objects defined in the bbb-common-* libraries down the road? |
The current plan is to just replace the internal messages used by the |
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
Outdated
Show resolved
Hide resolved
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
Outdated
Show resolved
Hide resolved
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.
Just a few comments trying to clarify my understanding!
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
Automated tests Summary✅ All the CI tests have passed! |
This pull request has conflicts ☹ |
What does this PR do?
This PR makes it so that meeting state from
akka-apps
is used rather than the state frombbb-web
to construct responses forisMeetingRunning
,getMeetingInfo
, andgetMeetings
API requests. gRPC has been used to facilitate communication betweenbbb-web
andakka-apps
.The classes used for communication through gRPC are defined in the
meeting-service.proto
file found inbbb-common-message
. Bothbbb-web
andakka-apps
extract this definition frombbb-common-message
and then generate the required Java and Scala class files. The class files are generated forbbb-web
whenrun-dev.sh
is run, but it is also possible to generate the files without running the application by running thegradlew
file with thebuild
task. Forakka-apps
the files are generated bysbt
using thecompile
task.Motivation
Removal of application state from
bbb-web
is part of the ongoing process to consolidate application state inakka-apps
. Currently when responding to API requests for meeting informationbbb-web
gets the information from its own internal state when it should rely onakka-apps
for this information.This is the first step in the process of totally removing application state from
bbb-web
. The next step is to redesign the other APIs such ascreate
andjoin
to not store any state inbbb-web
.