-
Notifications
You must be signed in to change notification settings - Fork 59
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
vdk-core: properties write pre-processing support #819
Conversation
This change introduces `IPropertiesServiceClient` `write_properties` chaining, enabling use-cases like decorate/curate properties prior write, parallel properties storage, and so on. In addition, autonomous `IPropertiesServiceClient` write properties may now be invoked in a sequence. A backwards-compatible API change is introduced, so now `write_properties` does return the properties written, that unblocks the chaining abstraction. Obsolete method signatures would be already updated. Pydocs updated. Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are verified and available before any properties writing initiated. `Propertiesnotavailable.py` file renamed, unused imports cleaned; a few typos fixed in ingestion processing user-facing documentation; Testing Done: introduced 3 properties preprocessing functional tests, covering success/error/misconfiguration cases. Signed-off-by: ikoleva <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As it's a introducing a new user-facing options, we should include a functional test under https://github.com/vmware/versatile-data-kit/tree/main/projects/vdk-core/tests/functional/run to test the PROPERTIES_WRITE_PREPROCESS_SEQUENCE with vdk run
...ects/vdk-core/src/vdk/internal/builtin_plugins/job_properties/datajobs_service_properties.py
Show resolved
Hide resolved
...ects/vdk-core/src/vdk/internal/builtin_plugins/job_properties/datajobs_service_properties.py
Show resolved
Hide resolved
...ects/vdk-core/src/vdk/internal/builtin_plugins/job_properties/datajobs_service_properties.py
Show resolved
Hide resolved
This change introduces `IPropertiesServiceClient` `write_properties` chaining, enabling use-cases like decorate/curate properties prior write, parallel properties storage, and so on. In addition, autonomous `IPropertiesServiceClient` write properties may now be invoked in a sequence. A backwards-compatible API change is introduced, so now `write_properties` does return the properties written, that unblocks the chaining abstraction. Obsolete method signatures would be already updated. Pydocs updated. Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are verified and available before any properties writing initiated. `Propertiesnotavailable.py` file renamed, unused imports cleaned; a few typos fixed in ingestion processing user-facing documentation; Testing Done: introduced 4 properties preprocessing functional tests, covering success/immutableouterscope/error/misconfiguration cases; introduced a functional test using PROPERTIES_WRITE_PREPROCESS_SEQUENCE to decorate with an additional property, via newly implemented TestPropertiesDecoratedPlugin in vdk-test-utils Signed-off-by: ikoleva <[email protected]>
the functional test is implemented; should I comment it out however, and create a PR with vdk-test-utils changes to merge first? |
projects/vdk-plugins/vdk-test-utils/src/vdk/plugin/test_utils/util_plugins.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I made some small suggestions that you should look over but I am ok if you decide not to change anything.
You can merge both in the same PR - our CI uses vdk-test-utils from the source. |
This change introduces `IPropertiesServiceClient` `write_properties` chaining, enabling use-cases like decorate/curate properties prior write, parallel properties storage, and so on. In addition, autonomous `IPropertiesServiceClient` write properties may now be invoked in a sequence. A backwards-compatible API change is introduced, so now `write_properties` does return the properties written, that unblocks the chaining abstraction. Obsolete method signatures would be already updated. Pydocs updated. Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are verified and available before any properties writing initiated. `Propertiesnotavailable.py` file renamed, unused imports cleaned; a few typos fixed in ingestion processing user-facing documentation; Testing Done: introduced 4 properties preprocessing functional tests, covering success/immutableouterscope/error/misconfiguration cases; introduced a functional test using PROPERTIES_WRITE_PREPROCESS_SEQUENCE to decorate with an additional property, via newly implemented TestPropertiesDecoratedPlugin in vdk-test-utils Signed-off-by: ikoleva <[email protected]>
This change introduces
IPropertiesServiceClient
write_properties
chaining, enabling use-cases like decorate/curate properties
prior write, parallel properties storage, and so on.
In addition, autonomous
IPropertiesServiceClient
write properties maynow be invoked in a sequence.
A backwards-compatible API change is introduced, so now
write_properties
does return the properties written, that unblocksthe chaining abstraction. Obsolete method signatures would be already
updated. Pydocs updated.
Preprocessors configured in
PROPERTIES_WRITE_PREPROCESS_SEQUENCE
areverified and available before any properties writing initiated.
Propertiesnotavailable.py
file renamed, unused imports cleaned;a few typos fixed in ingestion processing user-facing documentation;
Testing Done: introduced 3 properties preprocessing functional tests,
covering success/error/misconfiguration cases.
Signed-off-by: ikoleva [email protected]