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

[BUG] Circular dependency on performance-analyzer-rca #50

Closed
sruti1312 opened this issue Aug 20, 2021 · 3 comments
Closed

[BUG] Circular dependency on performance-analyzer-rca #50

sruti1312 opened this issue Aug 20, 2021 · 3 comments
Labels
bug Something isn't working v2.8.0

Comments

@sruti1312
Copy link
Contributor

sruti1312 commented Aug 20, 2021

Is your feature request related to a problem?
RCA package is built inline. The RCA project needs to build and publish itself in a way that can be picked up by PA, just like all the dependencies and the circular dependency resolved.

Background into this issue:

Currently RCA project is built as a part of PA build followed by unpacking and copying the RCA artifacts to PA artifacts location. Answering to why this is different from other types of dependencies. Inorder to create the PA artifact,i it relies on copying files and folders from the RCA package, we use gradle for building and bring in these RCA bits into PA artifact.
opendistro-for-elasticsearch/performance-analyzer#131
RCA package is more of a component built and shipped along with PA plugin than a dependency.

What solution would you like?
We want to change it in a way that PA consume RCA like a dependency and one of the projects needs to stop depending on the other.

Additional info

To increment versions to 1.1 we had to:
in performance-analyzer: #53 that relied on a private branch of performance-analyzer-rc + #54
in performance-analyzer-rc: opensearch-project/performance-analyzer-rca#55 that relied on a private branch + opensearch-project/performance-analyzer-rca#58

@sruti1312 sruti1312 added the enhancement New feature or request label Aug 20, 2021
@dblock
Copy link
Member

dblock commented Aug 20, 2021

I think there's more to this: there is a circular dependency between performance-analyzer and performance-analyzer-rca in CI.

  • performance-analyzer git clone's performance-analyzer-rca to run its integ tests
  • performance-analyzer-rca builds and installs performance-analyzer, enables itself (RCA) and runs integration tests

If both projects stop building each-other, and consume each-other's snapshot builds it will be half the battle.

@dblock dblock changed the title [FEATURE] Remove building RCA package during PA build [FEATURE] Circular dependency on performance-analyzer-rca, required in PA build Aug 23, 2021
@dblock dblock changed the title [FEATURE] Circular dependency on performance-analyzer-rca, required in PA build [FEATURE] Circular dependency on performance-analyzer-rca Aug 23, 2021
@dblock dblock added bug Something isn't working and removed enhancement New feature or request labels Aug 23, 2021
@dblock dblock changed the title [FEATURE] Circular dependency on performance-analyzer-rca [BUG] Circular dependency on performance-analyzer-rca Aug 23, 2021
@kkhatua
Copy link
Member

kkhatua commented Sep 19, 2022

@sruti1312 can you provide what would be required to fix this?

@khushbr
Copy link
Collaborator

khushbr commented Oct 5, 2023

This issue is fixed with creation of new library (https://github.com/opensearch-project/performance-analyzer-commons/) to house the common code.

@khushbr khushbr closed this as completed Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working v2.8.0
Projects
None yet
Development

No branches or pull requests

4 participants