Skip to content

Fix the concurrent issue in the publish artifacts API#290

Merged
nipunayf merged 1 commit intoballerina-platform:1.2.xfrom
nipunayf:fix-artifacts-api
Sep 8, 2025
Merged

Fix the concurrent issue in the publish artifacts API#290
nipunayf merged 1 commit intoballerina-platform:1.2.xfrom
nipunayf:fix-artifacts-api

Conversation

@nipunayf
Copy link
Contributor

@nipunayf nipunayf commented Sep 8, 2025

Purpose

The artifacts() method was throwing an ArrayIndexOutOfBoundsException during the sorting operation due to a concurrency issue in the sorting process.

Addresses wso2/product-ballerina-integrator#1178

Copilot AI review requested due to automatic review settings September 8, 2025 06:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes a concurrency issue in the publish artifacts API where the artifacts() method was throwing an ArrayIndexOutOfBoundsException during sorting operations. The fix replaces HashMap with TreeMap for automatic sorting and removes the manual sorting logic that was causing thread safety issues.

  • Replaces HashMap with TreeMap for automatic sorting to eliminate concurrent modification issues
  • Removes the post-processing sorting loop that was vulnerable to race conditions
  • Adds TreeMap import to support the new implementation
Comments suppressed due to low confidence (1)

architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ArtifactsGenerator.java:1

  • The LinkedHashMap import is no longer used after removing the manual sorting logic and should be removed to clean up unused imports.
/*

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@dan-niles dan-niles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nipunayf nipunayf merged commit daa40e6 into ballerina-platform:1.2.x Sep 8, 2025
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants