yasithdev opened a new pull request, #202:
URL: https://github.com/apache/airavata-portals/pull/202

   Part of the Track D proto-native serializer rewrite (retire the interim 
Thrift-type adapter layer, family by family, REST contract byte-for-byte 
preserved). This is the largest coupled family — the experiment read tree and 
the application interfaces share the Input/Output serializers, so they migrate 
together.
   
   ## What
   - **Input/Output**: read the gRPC 
`InputDataObjectType`/`OutputDataObjectType` directly (DataType → member name; 
`metaData` proto-'' → null via new `ProtoStoredJSONField`); `create()` builds 
the proto.
   - **ApplicationInterfaceDescriptionSerializer**: proto-native read + write 
(nested inputs/outputs; `showQueueSettings`/`queueSettingsCalculatorId` DB 
handling preserved); `_update_input_metadata` reads proto fields.
   - **Experiment tree**: full proto-native `ExperimentSerializer` replicating 
the entire processes → tasks → jobs tree (each with its status list), 
userConfiguration + scheduling, inputs/outputs, status, errors. Preserves the 
subtle ISO-vs-int timestamp quirks byte-for-byte (top-level `experimentStatus` 
= ISO; nested process-tree statuses + nested job `creationTime` = raw int; 
standalone `JobSerializer` `creationTime` = ISO). State/type enums → Thrift 
ints. `save()` builds the proto incl. the writable nested 
`userConfigurationData` + `computationalResourceScheduling`.
   - Repoint every experiment/interface consumer to pass protobuf through 
(ExperimentViewSet instance/create/update/launch/jobs/clone, 
ProjectViewSet.experiments, FullExperimentViewSet + nested 
module/compute/project/jobs with proto DataType comparisons, 
ApplicationInterfaceViewSet, ApplicationModuleViewSet actions, output_views, 
workspace.edit_experiment, ExperimentArchiveView, _user_storage_path).
   - Remove the experiment-tree + interface + io adapters and the now-unused 
Thrift imports.
   
   **NOTE:** the EXECUTING-only `intermediateOutput` enrichment still calls the 
legacy `experiment_util` (Thrift) with a proto experiment — a parked concern 
tracked with the experiment_util migration; it is best-effort (try/except) and 
never runs for the validated non-EXECUTING cases.
   
   ## Validation
   - Byte-for-byte (experiment full tree, job, input, output, interface) vs the 
old adapter+serializer `.data`.
   - Write paths (experiment incl. nested scheduling; interface incl. nested 
I/O) produce equivalent protos.
   - `manage.py check` green; api test failures unchanged vs `origin/main`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to