Conversation
There was a problem hiding this comment.
Pull request overview
This PR bumps the project to version 3.24.0, adds Postman collections/environments for the HPC Server API, and introduces a new “staged metadata attributes” migration workflow (DB + scheduler + services), along with some dependency/test modernizations.
Changes:
- Bump HPC component versions to 3.24.0 and update dependency versions (Spring/Jackson/Mockito/JUnit).
- Add staged-metadata attribute processing: new DB tables/views/MVs, DAO/service/bus/scheduler support, and iRODS bulk AVU result validation.
- Add Postman workspace resources (collections, requests, and environments) and a generator script.
Reviewed changes
Copilot reviewed 139 out of 154 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/version | Bumps referenced CLI jar version to 3.24.0. |
| src/pom.xml | Bumps root Maven version to 3.24.0. |
| src/hpc-web/src/main/java/gov/nih/nci/hpc/web/controller/HpcSyncDownloadController.java | Stops returning exception details to client; adds server-side logging. |
| src/hpc-web/pom.xml | Bumps web module version + api.version to 3.24.0. |
| src/hpc-server/pom.xml | Bumps server version and updates Spring/Jackson + test deps (Mockito/JUnit). |
| src/hpc-server/hpc-ws-rs-test/src/test/java/gov/nih/nci/hpc/ws/rs/test/HpcRestServiceTest.java | Updates Mockito matcher imports for newer Mockito. |
| src/hpc-server/hpc-ws-rs-test/src/test/java/gov/nih/nci/hpc/ws/rs/test/HpcRegisterCollectionTest.java | Updates Mockito matcher imports/usages for newer Mockito. |
| src/hpc-server/hpc-ws-rs-test/pom.xml | Bumps module version; adds JUnit/Mockito test deps. |
| src/hpc-server/hpc-ws-rs-impl/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-ws-rs-api/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-scheduler/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-scheduler-migration/src/main/resources/WEB-INF/spring/hpc-scheduler-migration.properties | Adds cron config for staged metadata processing. |
| src/hpc-server/hpc-scheduler-migration/src/main/java/gov/nih/nci/hpc/scheduler/migration/impl/HpcScheduledTasksImpl.java | Adds scheduled task entrypoint for staged metadata processing. |
| src/hpc-server/hpc-scheduler-migration/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-integration-impl/src/main/java/gov/nih/nci/hpc/integration/irods/impl/HpcDataManagementProxyImpl.java | Validates iRODS bulk AVU operation responses and raises errors on partial failures. |
| src/hpc-server/hpc-integration-impl/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-integration-api/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-dto/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-domain-types/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-domain-model/src/main/resources/schema/HpcDataMigration.xsd | Adds XSD type for staged metadata attributes. |
| src/hpc-server/hpc-domain-model/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/schema/oracle_migration_script_for_views | Adds new hierarchy metadata view + synonym. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/schema/oracle_migration_script_for_tables | Replaces hpc_data_meta_main build with partitioned table + indexes. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/schema/oracle_migration_script_for_routines | Updates daily refresh procedure to refresh new MVs. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/schema/oracle_migration_script_for_mv | Adds MV log + new MVs for fast refresh and inherited metadata. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/migration/release-3.24.0/hpc_staged_metadata_attributes.sql | Adds new staging/migrated metadata attribute tracking tables. |
| src/hpc-server/hpc-dao-impl/src/main/scripts/migration/release-3.24.0/hpc_data_hierarchy_meta_main_v.sql | Adds release migration script for new tables/MVs/views/procedure. |
| src/hpc-server/hpc-dao-impl/src/main/java/gov/nih/nci/hpc/dao/oracle/impl/HpcDataMigrationDAOImpl.java | Adds DAO operations for staged metadata attribute processing. |
| src/hpc-server/hpc-dao-impl/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-dao-api/src/main/java/gov/nih/nci/hpc/dao/HpcDataMigrationDAO.java | Adds DAO API for staged metadata attribute operations. |
| src/hpc-server/hpc-dao-api/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-common/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-client/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-bus-service-impl/src/test/java/gov/nih/nci/hpc/bus/impl/HpcSystemBusServiceImplTest.java | Adds new JUnit 5 test coverage for system bus behavior. |
| src/hpc-server/hpc-bus-service-impl/src/test/java/gov/nih/nci/hpc/bus/impl/HpcDataManagementBusServiceImplTest.java | Adds new JUnit 5 test coverage for delete flows. |
| src/hpc-server/hpc-bus-service-impl/src/main/java/gov/nih/nci/hpc/bus/impl/HpcDataMigrationBusServiceImpl.java | Adds staged metadata attribute processing bus method. |
| src/hpc-server/hpc-bus-service-impl/src/main/java/gov/nih/nci/hpc/bus/impl/HpcDataManagementBusServiceImpl.java | Updates metadata update method calls to include allowSystemMetadata flag. |
| src/hpc-server/hpc-bus-service-impl/pom.xml | Bumps module version; adds JUnit/Mockito test deps. |
| src/hpc-server/hpc-bus-service-api/src/main/java/gov/nih/nci/hpc/bus/HpcDataMigrationBusService.java | Adds API method for staged metadata processing. |
| src/hpc-server/hpc-bus-service-api/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-server/hpc-app-service-impl/src/test/java/gov/nih/nci/hpc/service/impl/HpcDataTransferServiceImplTest.java | Updates Mockito matchers; attempts to add Jupiter lifecycle hooks. |
| src/hpc-server/hpc-app-service-impl/src/test/java/gov/nih/nci/hpc/service/impl/HpcDataManagementConfigurationLocatorTest.java | Updates Mockito runner import. |
| src/hpc-server/hpc-app-service-impl/src/main/java/gov/nih/nci/hpc/service/impl/HpcMetadataValidator.java | Adds allowSystemMetadata flag to bypass reserved metadata restrictions. |
| src/hpc-server/hpc-app-service-impl/src/main/java/gov/nih/nci/hpc/service/impl/HpcMetadataServiceImpl.java | Threads allowSystemMetadata through metadata update APIs. |
| src/hpc-server/hpc-app-service-impl/src/main/java/gov/nih/nci/hpc/service/impl/HpcDataMigrationServiceImpl.java | Implements staged metadata retrieval/claim/add/cleanup and reset logic. |
| src/hpc-server/hpc-app-service-impl/pom.xml | Bumps module version; adds JUnit/Mockito test deps. |
| src/hpc-server/hpc-app-service-api/src/main/java/gov/nih/nci/hpc/service/HpcMetadataService.java | Adds allowSystemMetadata param to metadata update API. |
| src/hpc-server/hpc-app-service-api/src/main/java/gov/nih/nci/hpc/service/HpcDataMigrationService.java | Adds staged metadata attribute service API methods. |
| src/hpc-server/hpc-app-service-api/pom.xml | Bumps module version to 3.24.0. |
| src/hpc-postman/postman/globals/workspace.globals.yaml | Adds Postman globals resource. |
| src/hpc-postman/postman/environments/Local.environment.yaml | Adds local Postman environment template. |
| src/hpc-postman/postman/environments/Dev1.environment.yaml | Adds Dev1 Postman environment template. |
| src/hpc-postman/postman/collections/HPC Server API/.resources/definition.yaml | Adds root Postman collection definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/.resources/definition.yaml | Adds “Security” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/authenticate.request.yaml | Adds authenticate request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get invoker.request.yaml | Adds invoker request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/register user.request.yaml | Adds register-user request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/update user.request.yaml | Adds update-user request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get user.request.yaml | Adds get-user request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/delete user.request.yaml | Adds delete-user request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get active users.request.yaml | Adds get-active-users request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/query users.request.yaml | Adds query-users request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get users by role.request.yaml | Adds get-users-by-role request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get user groups.request.yaml | Adds get-user-groups request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/register group.request.yaml | Adds register-group request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/update group.request.yaml | Adds update-group request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get group.request.yaml | Adds get-group request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get groups.request.yaml | Adds get-groups request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/delete group.request.yaml | Adds delete-group request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/refresh data management configurations.request.yaml | Adds refresh-config request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Security/get query configuration.request.yaml | Adds get-query-config request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Review/.resources/definition.yaml | Adds “Review” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Review/query review.request.yaml | Adds review query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Review/send review reminder.request.yaml | Adds review reminder request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Reports/.resources/definition.yaml | Adds “Reports” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Reports/generate report.request.yaml | Adds report generation request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Notifications/.resources/definition.yaml | Adds “Notifications” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Notifications/subscribe notifications.request.yaml | Adds notification subscribe request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Notifications/get notification subscriptions.request.yaml | Adds get-subscriptions request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Notifications/get delivery receipts.request.yaml | Adds delivery receipts list request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Notifications/get delivery receipt.request.yaml | Adds delivery receipt request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Get Collection.request.yaml | Adds standalone get-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Tiering/.resources/definition.yaml | Adds “Data Tiering” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Tiering/tier data object.request.yaml | Adds tier-data-object request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Tiering/tier collection.request.yaml | Adds tier-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Tiering/bulk tier.request.yaml | Adds bulk-tier request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/.resources/definition.yaml | Adds “Data Search” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/query collections.request.yaml | Adds collections query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/query collections by named query.request.yaml | Adds collections named-query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/query data objects.request.yaml | Adds data objects query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/query data objects by named query.request.yaml | Adds data objects named-query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/add named query.request.yaml | Adds named query create request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/update named query.request.yaml | Adds named query update request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/get named query.request.yaml | Adds named query get request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/get all named queries.request.yaml | Adds named query list request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/delete named query.request.yaml | Adds named query delete request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/get metadata attributes.request.yaml | Adds metadata attribute list request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/query catalog.request.yaml | Adds catalog query request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Search/email export query.request.yaml | Adds email export request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Object Registration/.resources/definition.yaml | Adds “Data Object Registration” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Object Registration/Get Data Object.request.yaml | Adds get-data-object request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/.resources/definition.yaml | Adds “Data Migration” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/migrate data object.request.yaml | Adds migrate-data-object request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/migrate collection.request.yaml | Adds migrate-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/bulk migrate.request.yaml | Adds bulk-migrate request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/retry data object migration.request.yaml | Adds retry data object migration request. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/retry collection migration.request.yaml | Adds retry collection migration request. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/migrate metadata.request.yaml | Adds migrate-metadata request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Migration/process auto tiering.request.yaml | Adds auto-tiering processing request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/.resources/definition.yaml | Adds “Data Management” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/interrogate path type.request.yaml | Adds path type request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/register collection.request.yaml | Adds register-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/move collection.request.yaml | Adds move-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/move paths.request.yaml | Adds bulk move request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/delete collection.request.yaml | Adds delete-collection request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/download collection.request.yaml | Adds v2 collection download request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/get collection download status.request.yaml | Adds collection download status request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/get collection children.request.yaml | Adds collection children request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/set collection permissions.request.yaml | Adds collection ACL set request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/get collection permissions.request.yaml | Adds collection ACL get request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/register data object.request.yaml | Adds v2 data object registration request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/delete data object.request.yaml | Adds delete-data-object request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/download data object.request.yaml | Adds v2 data object download request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/get data object download status.request.yaml | Adds data object download status request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/set data object permissions.request.yaml | Adds data object ACL set request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/bulk register data objects.request.yaml | Adds v2 bulk registration request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/get bulk registration status.request.yaml | Adds bulk registration status request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Management/bulk download data objects.request.yaml | Adds v2 bulk download request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/.resources/definition.yaml | Adds “Data Browse” folder definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/add bookmark.request.yaml | Adds bookmark create request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/update bookmark.request.yaml | Adds bookmark update request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/get bookmark.request.yaml | Adds bookmark get request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/get all bookmarks.request.yaml | Adds bookmark list request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Data Browse/delete bookmark.request.yaml | Adds bookmark delete request definition. |
| src/hpc-postman/postman/collections/HPC Server API/Collection Registration/.resources/definition.yaml | Adds “Collection Registration” folder definition. |
| src/hpc-postman/create-hpc-collection.js | Adds Node script for generating Postman resources. |
| src/hpc-postman/.postman/resources.yaml | Adds Postman workspace resources config. |
| src/hpc-cli/src/main/java/gov/nih/nci/hpc/cli/commands/HpcBannerProvider.java | Bumps CLI banner version to 3.24.0. |
| src/hpc-cli/pom.xml | Bumps CLI module/dependency versions and Spring dependency versions. |
Comments suppressed due to low confidence (17)
src/hpc-server/hpc-dao-impl/src/main/java/gov/nih/nci/hpc/dao/oracle/impl/HpcDataMigrationDAOImpl.java:1
- Claiming/cleaning staged metadata attributes keys only on (PATH, META_ATTR_NAME) but ignores META_ATTR_VALUE. If multiple rows exist for the same path+attribute (different values), one node can claim one row and then delete multiple rows (or delete the wrong row). Make the claim and cleanup operations uniquely identify a single row (e.g., include META_ATTR_VALUE in the WHERE clause, or introduce a surrogate key/primary key and use it throughout).
src/hpc-server/hpc-dao-impl/src/main/java/gov/nih/nci/hpc/dao/oracle/impl/HpcDataMigrationDAOImpl.java:1 - Claiming/cleaning staged metadata attributes keys only on (PATH, META_ATTR_NAME) but ignores META_ATTR_VALUE. If multiple rows exist for the same path+attribute (different values), one node can claim one row and then delete multiple rows (or delete the wrong row). Make the claim and cleanup operations uniquely identify a single row (e.g., include META_ATTR_VALUE in the WHERE clause, or introduce a surrogate key/primary key and use it throughout).
src/hpc-server/hpc-dao-impl/src/main/java/gov/nih/nci/hpc/dao/oracle/impl/HpcDataMigrationDAOImpl.java:1 - Claiming/cleaning staged metadata attributes keys only on (PATH, META_ATTR_NAME) but ignores META_ATTR_VALUE. If multiple rows exist for the same path+attribute (different values), one node can claim one row and then delete multiple rows (or delete the wrong row). Make the claim and cleanup operations uniquely identify a single row (e.g., include META_ATTR_VALUE in the WHERE clause, or introduce a surrogate key/primary key and use it throughout).
src/hpc-server/hpc-dao-impl/src/main/scripts/migration/release-3.24.0/hpc_staged_metadata_attributes.sql:1 - The staging table has no primary key/unique constraint and no index to support the
IN_PROCESS = 0scan + conditional update used for row claiming. This can lead to duplicates and poor performance as the table grows. Add a primary key (or at least a unique constraint) on the intended natural key (e.g., PATH, META_ATTR_NAME, META_ATTR_VALUE) and consider indexes on (IN_PROCESS, PATH, META_ATTR_NAME, META_ATTR_VALUE) or similar to optimize the poll/claim pattern.
src/hpc-server/pom.xml:1 - The specified versions for Mockito/JUnit Jupiter look suspicious (e.g., junit-jupiter-*
5.13.1, mockito-core5.18.0) and may not exist in Maven Central, which would break builds. Prefer managing these via an existing BOM/dependencyManagement (e.g., Spring Boot/Spring Framework BOM if used) or verify and pin to a known-available version.
src/hpc-server/pom.xml:1 - The specified versions for Mockito/JUnit Jupiter look suspicious (e.g., junit-jupiter-*
5.13.1, mockito-core5.18.0) and may not exist in Maven Central, which would break builds. Prefer managing these via an existing BOM/dependencyManagement (e.g., Spring Boot/Spring Framework BOM if used) or verify and pin to a known-available version.
src/hpc-server/pom.xml:1 - The specified versions for Mockito/JUnit Jupiter look suspicious (e.g., junit-jupiter-*
5.13.1, mockito-core5.18.0) and may not exist in Maven Central, which would break builds. Prefer managing these via an existing BOM/dependencyManagement (e.g., Spring Boot/Spring Framework BOM if used) or verify and pin to a known-available version.
src/hpc-server/pom.xml:1 - The specified versions for Mockito/JUnit Jupiter look suspicious (e.g., junit-jupiter-*
5.13.1, mockito-core5.18.0) and may not exist in Maven Central, which would break builds. Prefer managing these via an existing BOM/dependencyManagement (e.g., Spring Boot/Spring Framework BOM if used) or verify and pin to a known-available version.
src/hpc-server/hpc-app-service-impl/src/test/java/gov/nih/nci/hpc/service/impl/HpcDataTransferServiceImplTest.java:1 - This test class mixes JUnit 4 (
org.junit.Test,org.junit.Before, likely@RunWith(MockitoJUnitRunner.class)) with JUnit Jupiter lifecycle annotations (@BeforeEach/@AfterEach). Under JUnit 4, the Jupiter lifecycle methods will not run, so the Mockito open/close logic won’t execute as intended. Either migrate the entire test to JUnit Jupiter (JUnit Platform + Jupiter annotations) or keep it as JUnit 4 using@Before/@After(and rely on MockitoJUnitRunner or a JUnit 4 rule).
src/hpc-server/hpc-app-service-impl/src/test/java/gov/nih/nci/hpc/service/impl/HpcDataTransferServiceImplTest.java:1 - This test class mixes JUnit 4 (
org.junit.Test,org.junit.Before, likely@RunWith(MockitoJUnitRunner.class)) with JUnit Jupiter lifecycle annotations (@BeforeEach/@AfterEach). Under JUnit 4, the Jupiter lifecycle methods will not run, so the Mockito open/close logic won’t execute as intended. Either migrate the entire test to JUnit Jupiter (JUnit Platform + Jupiter annotations) or keep it as JUnit 4 using@Before/@After(and rely on MockitoJUnitRunner or a JUnit 4 rule).
src/hpc-server/hpc-dao-impl/src/main/scripts/schema/oracle_migration_script_for_mv:1 - The script inconsistently qualifies schema names (e.g.,
irods.hpc_data_meta_main_mvbut MV log created on unqualifiedhpc_data_meta_main). If the migration runs under a schema other thanIRODS(orcurrent_schemaisn’t set), this can fail or create objects in the wrong schema. Use consistent schema qualification (e.g.,CREATE MATERIALIZED VIEW LOG ON irods.hpc_data_meta_main ...) or explicitly setALTER SESSION SET CURRENT_SCHEMA = IRODSat the start of the script.
src/hpc-web/src/main/java/gov/nih/nci/hpc/web/controller/HpcSyncDownloadController.java:1 - Logging only
e.getMessage()drops the stack trace, making production diagnosis harder. Log the exception itself (e.g., parameterized logging with the throwable) and keep client messages consistent (second response is missing the trailing period).
src/hpc-web/src/main/java/gov/nih/nci/hpc/web/controller/HpcSyncDownloadController.java:1 - Logging only
e.getMessage()drops the stack trace, making production diagnosis harder. Log the exception itself (e.g., parameterized logging with the throwable) and keep client messages consistent (second response is missing the trailing period).
src/hpc-server/hpc-bus-service-impl/src/main/java/gov/nih/nci/hpc/bus/impl/HpcDataMigrationBusServiceImpl.java:1 - This introduces a new multi-node safe claim/process/cleanup workflow, but there’s no corresponding unit/integration test validating the claim semantics (e.g., only one worker processes a row, cleanup happens after successful add, failures do not delete rows). Add tests around
processStagedMetadataAttributes()using mocks fordataMigrationService/dataManagementServiceto verify claim/skip behavior and cleanup ordering.
src/hpc-postman/postman/environments/Dev1.environment.yaml:1 - This hard-codes a specific environment hostname in-repo. If this endpoint is internal-only or sensitive, consider replacing it with a placeholder (e.g.,
https://dev1.example.org:7738) and documenting how developers should set the real value locally (or keep environment-specific values outside source control).
src/hpc-postman/postman/collections/HPC Server API/Data Migration/process auto tiering.request.yaml:1 - This request uses a different path-variable convention (
:configurationId) than the rest of the collection (which consistently uses{{var}}). Unless the Postman YAML schema being used explicitly supports colon-style path params, this likely won’t substitute correctly. Align the URL format with the other requests (e.g.,/autoTiering/{{configurationId}}) or confirm the correct syntax for the chosen Postman YAML format.
src/hpc-postman/postman/collections/HPC Server API/Data Migration/process auto tiering.request.yaml:1 - This request uses a different path-variable convention (
:configurationId) than the rest of the collection (which consistently uses{{var}}). Unless the Postman YAML schema being used explicitly supports colon-style path params, this likely won’t substitute correctly. Align the URL format with the other requests (e.g.,/autoTiering/{{configurationId}}) or confirm the correct syntax for the chosen Postman YAML format.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const colBase = path.join(base, 'postman/collections/HPC Server API'); | ||
| const envBase = path.join(base, 'postman/environments'); |
There was a problem hiding this comment.
The generator script writes environment files as Local.yaml and Dev.yaml, but the repo additions use *.environment.yaml naming (e.g., Local.environment.yaml, Dev1.environment.yaml). This mismatch will confuse users and can lead to duplicated/incorrect resources. Update the script output paths/names to match the checked-in convention (or vice versa) so the script is a reliable source of truth.
| // ============================================================ | ||
| // ENVIRONMENTS | ||
| // ============================================================ | ||
| write(path.join(envBase, 'Local.yaml'), `name: Local |
There was a problem hiding this comment.
The generator script writes environment files as Local.yaml and Dev.yaml, but the repo additions use *.environment.yaml naming (e.g., Local.environment.yaml, Dev1.environment.yaml). This mismatch will confuse users and can lead to duplicated/incorrect resources. Update the script output paths/names to match the checked-in convention (or vice versa) so the script is a reliable source of truth.
| type: default | ||
| `); | ||
|
|
||
| write(path.join(envBase, 'Dev.yaml'), `name: Dev |
There was a problem hiding this comment.
The generator script writes environment files as Local.yaml and Dev.yaml, but the repo additions use *.environment.yaml naming (e.g., Local.environment.yaml, Dev1.environment.yaml). This mismatch will confuse users and can lead to duplicated/incorrect resources. Update the script output paths/names to match the checked-in convention (or vice versa) so the script is a reliable source of truth.
…leProcessor.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…hpc/bus/impl/HpcDataManagementBusServiceImpl.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
HPCDATAMGM-2164: Remove unnecessary attributes in HpcDataObject
No description provided.