cleanup: lean core — remove dead code, prune deps, restructure dev-tools#602
Merged
cleanup: lean core — remove dead code, prune deps, restructure dev-tools#602
Conversation
…wstunnel, simstream)
…ts, delete old Java source Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes the @deprecated CredentialOwnerType enum (GATEWAY/USER) and the corresponding credentialOwnerType field from Credential. Updates CredentialsDAO to omit CREDENTIAL_OWNER_TYPE from INSERT/UPDATE and stop reading it on SELECT. Removes owner-type filter logic from the two @deprecated summary handler methods. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… implementations - Remove @deprecated annotations from getAllCredentialSummaryForGateway, getAllCredentialSummaryForUserInGateway, and getAllPWDCredentialsForGateway - Fix getAllCredentialSummaryForUserInGateway: was scanning all credentials globally instead of per-gateway (correctness bug) - Refactor all three methods to reuse existing isSSHCredential, isPasswordCredential, and convertToCredentialSummary helpers - Return Collections.emptyList() instead of null for unsupported types - Remove unused sshKeyMap local variables No replacement API exists for the "get all without token filter" use case; these methods remain as valid implementations of CredentialStoreService.Iface. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…AppInterfaceComputeResources Both methods are required by the Thrift-generated Airavata interface and cannot be removed. Dropped @deprecated from AiravataServerHandler and removed the stale FIXME comments from the Thrift IDL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…hRole All three methods are defined in the Thrift IDL (iam-admin-services-cpi.thrift) and cannot be removed. Remove spurious @deprecated annotations from IamAdminServicesHandler and TenantManagementInterface. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cePreference, getAbsoluteSetting) - Delete getAbsoluteSetting() from ApplicationSettings — no external callers, only self-recursive; also removes dead private helpers getAllMatches, getVariableNameOnly, REGULAR_EXPRESSION constant, and unused Matcher import - Un-deprecate getGatewayStorageResourcePreference() in TaskContext — still needed as the default fallback for getStorageResourceId/LoginUserName/FileSystemRootLocation; replacement variants (input/output specific) delegate back to it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sues for rest Removed 18 stale/redundant TODO/FIXME comments (85 → 67): - JSONUtil.isEqual: method was already implemented, remove errant TODO - AppDeploymentUtil: remove commented-out setModuleLoadCmd + TODO - CredentialReaderImpl/CommunityUserDAO: remove bare TODOs from empty methods - CommunityUserDAO: remove 3x "fix typo" TODOs (column name was already correct) - PBSEmailParser: remove old XSEDE/RabbitMQ infra reference - AbstractTask.publishErrors: remove kafka TODO above bare e.printStackTrace() - SshAgentAdaptor: remove "FIXME: Redundant" on live error-check code - SharingServiceDBEventHandler: remove "FIXME: Remove if not required" from empty READ case - OrchestratorServerHandler: remove 3x "TODO deprecate gfac" (gfac is gone) - OrchestratorServerHandler: remove FIXME + entirely commented-out workflow enactment body - GroovyMapBuilder: remove 2x "TODO fix this" wrapping dead LSF commented-out code - LocalJobSubmissionTask: remove "TODO fix this" + entire dead gfac submission block Remaining 67 are tracked as ISSUE (genuine missing features, security concerns, performance notes, and arch decisions out of scope for this cleanup sweep). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- airavata-api: remove httpclient5/httpcore5 (code uses httpclient4), jakarta.transaction/servlet/jms APIs, hibernate-validator, simpleclient_hotspot/httpserver/pushgateway, contiperf, aws:retries; add explicit simpleclient_common (was used undeclared via httpserver); scope mariadb-java-client as runtime - agent-service: scope mariadb-java-client as runtime - research-service: scope mariadb-java-client as runtime; remove javax.validation:validation-api (superseded by jakarta.validation) - airavata-server-grpc: remove redundant spring-boot-starter-data-jpa, spring-boot-starter-actuator, mariadb-java-client (all transitive) - airavata-server-rest: same removals as grpc - root pom: remove corresponding dependencyManagement entries Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…config consolidation - Add spring-boot-maven-plugin repackage goal to produce executable fat JAR - Add spring-boot-starter-actuator for /actuator/health endpoint - Fix bean name collision: explicit names for agent/research AiravataService - Fix EMF ordering: BackgroundServicesConfig depends on EntityManagerFactoryRegistrar - Configure manual EntityManagerFactory with PhysicalNamingStrategyStandardImpl to avoid Hibernate 6.6 DuplicateMappingException on shared @Id/@joincolumn columns - Exclude HibernateJpaAutoConfiguration (manual EMF with packagesToScan instead) - Consolidate split profile YMLs (thrift/rest/grpc) into single application.yml (they were never activated as Spring profiles) - Add grpc.server.host property (was missing, caused startup failure) - Fix Jandex version conflict: exclude old jandex 2.x from keycloak-admin-client - Fix scripts/start.sh: use java -jar (fat JAR) instead of broken classpath approach - Fix scripts/setup.sh: build full project, not just airavata-api Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…itecture - README: Replace separate microservices architecture with unified server description. Fix entry point, manual start commands, module paths, config file location, port table. Remove references to REST Proxy. - INSTALL: List all four server ports (Thrift, REST, gRPC, Monitoring) - Dockerfile: Rewrite for single fat JAR instead of separate service tarballs. Fix health check to use monitoring endpoint. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Delete .run/ IDE configs referencing non-existent *ServiceApplication classes (services are now embedded in unified server, no standalone entry points) - Delete distribution/ dirs from file-server, agent-service, research-service (standalone distribution tarballs replaced by unified server fat JAR) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… Tiltfile - README: fix background services count (12, not 8) - Tiltfile: remove redundant -am flag from root build and test commands - compose.yml: pin zookeeper (3.9), kafka (2.13-2.8.1), adminer (4) — no more :latest - load_client.py: add comment clarifying dev environment defaults Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace 5-service deployment model with single airavata-server-0.21-SNAPSHOT unified server across all shell scripts, Ansible tasks, and defaults. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…architecture - Delete deploy_api_server.yml (replaced by deploy_airavata_server.yml) - Delete config templates for agent-service, file-server, research-service, restproxy (all now embedded in unified server's application.yml) - Remove unused ansible variables for separate service configs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ipts, stale config - Delete airavata-api/src/main/resources/distribution/ (old standalone launcher scripts) - Delete airavata-api/src/main/docker/ (old separate api-server Docker image) - Remove dead Docker build plugins (maven-resources-plugin, docker-maven-plugin) and properties from airavata-api/pom.xml - Remove dead apiserver.class property from airavata-server.properties - Remove stale modules/research-framework/compose from .gitignore Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…mplate Dead (removed): - api.server.monitoring.enabled/host/port — never read by code - db_event_manager.class — never read by code Missing (added with defaults): - data.parser.broker.publisher.id=ParsingPublisher - max.archive.size=21474836480 (20GB, matches ArchiveTask constant) - parser.workflow.manager.monitoring.host=localhost - parser.workflow.manager.monitoring.port=9095 Also: - Remove dead airavata.user-profile.server from application.yml - Align ansible template with same changes - Remove dead ansible vars (api_server_monitoring_host, db_event_manager_class) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This was referenced Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Post-server-collapse cleanup to make the core lean, fix the cold-start flow, and align all docs/scripts with the unified server architecture.
Dead code & module removal
airavata-python-sdkpromoted to top-level directoryairavata-fusedeleted (zero dependencies)@deprecated cleanup
TODOs/FIXMEs
Dependency & config pruning
runtimescopeUnified server cold-start fixes
spring-boot-maven-pluginrepackage goalspring-boot-starter-actuatorfor/actuator/healthAiravataServiceBackgroundServicesConfigdepends onEntityManagerFactoryRegistrarEntityManagerFactorywithPhysicalNamingStrategyStandardImpl+packagesToScan(avoidsDuplicateMappingExceptionon shared @Id/@joincolumn columns)application.ymlgrpc.server.hoststart.shusesjava -jar,setup.shbuilds full projectDocs & deployment scripts
Verified running state
Known follow-up work (not in this PR)
airavata-server.propertieshasairavata.jdbc.*ANDapplication.ymlhasspring.datasource.*. Both connect to the same DB. Migrate legacy code to use Spring-managed datasource.wurstmeister/kafkais unmaintained (last updated 2021). Switch toapache/kafkaorbitnami/kafka.PhysicalNamingStrategyStandardImpl+ manual EMF. Proper fix: refactor entity mappings to be Hibernate 6 compliant, then switch back to Spring Boot auto-configured JPA.Test plan
mvn test -T4— 179 tests, 0 failuresgo build ./...+go vet ./...inairavata-agent/java -jar airavata-server.jar→ all 4 ports listening, all 8 services UP/actuator/health→{"status":"UP"}/health/services→ 8 services UP, 0 errors561 files changed, 908 insertions, 168,984 deletions
🤖 Generated with Claude Code