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]: Distribution incremental build failed on non-supported platform #4545

Closed
zelinh opened this issue Mar 19, 2024 · 3 comments
Closed

[Bug]: Distribution incremental build failed on non-supported platform #4545

zelinh opened this issue Mar 19, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@zelinh
Copy link
Member

zelinh commented Mar 19, 2024

Describe the bug

Recently we noticed this job distribution build job failed on Performance Analyzer on Windows platform.
https://build.ci.opensearch.org/blue/organizations/jenkins/distribution-build-opensearch/detail/distribution-build-opensearch/9601/pipeline/75/

2024-03-17 19:09:34 INFO     Removing C:\Users\ContainerAdministrator\tmp34c74y_f

Traceback (most recent call last):

  File "C:\Users\Administrator\jenkins\workspace\distribution-build-opensearch\src\run_build.py", line 112, in <module>

    sys.exit(main())

  File "C:\Users\Administrator\jenkins\workspace\distribution-build-opensearch\src\run_build.py", line 87, in main

    for component in manifest.components.select(focus=components, platform=target.platform):

  File "C:\Users\Administrator\jenkins\workspace\distribution-build-opensearch\src\manifests\input_manifest.py", line 211, in select

    raise ValueError(f"No components matched focus={','.join(focus)}, platform={platform}.")

ValueError: No components matched focus=performance-analyzer, platform=windows.

script returned exit code 1

Performance Analyzer is not supported on windows platform so it shouldn't be built.

Build failure happened when only this non-supported platform component has commits changed when running incremental build.

This one passed https://build.ci.opensearch.org/job/distribution-build-opensearch/9607/ when rebuilding plugins are more than just PA.
Plugins for incremental build: ['k-NN', 'performance-analyzer', 'neural-search']

To reproduce

Only one specific plugin has commit changes and run incremental build on this plugin's unsupported platform.

Expected behavior

The build should be skipped if the platform is not supported.

@zelinh zelinh added bug Something isn't working untriaged Issues that have not yet been triaged labels Mar 19, 2024
@rishabh6788
Copy link
Collaborator

@zelinh Please take a look.

@rishabh6788 rishabh6788 removed the untriaged Issues that have not yet been triaged label Apr 1, 2024
@gaiksaya gaiksaya moved this from Backlog to Not started in OpenSearch Engineering Effectiveness Apr 9, 2024
@gaiksaya gaiksaya moved this from Not started to Backlog in OpenSearch Engineering Effectiveness Apr 9, 2024
@zelinh
Copy link
Member Author

zelinh commented May 6, 2024

There are few ways that I'm thinking could resolve this problem:

  1. We could also add another check in the build_incremental.py class to filter components by the platform.
    def rebuild_plugins(self, changed_plugins: List, input_manifest: InputManifest) -> List[str]:
    In this way, we might need to pass additional platform variable so rebuild_plugins will return a list of components of selected platform.
  2. We could update the select function return here.
    raise ValueError(f"No components matched focus={','.join(focus)}, platform={platform}.")
    When the component didn't match because of incompatible platform, this function will log error and fail immediately. We could add a mechanism to pass through.

Personally, I prefer the first approach.

@zelinh
Copy link
Member Author

zelinh commented Aug 19, 2024

Closing out this issue as this is resolved.

@zelinh zelinh closed this as completed Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: ✅ Done
Development

No branches or pull requests

2 participants