Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.

Return full execution data on every request if under max specified size #109

Merged
merged 6 commits into from
Aug 12, 2020

Conversation

katrogan
Copy link
Contributor

@katrogan katrogan commented Jul 24, 2020

TL;DR

This change returns fully populated input & output data on GetExecutionData requests in addition to signed URLs.

Not to be merged until flyteorg/flyteidl#73 is checked in & released

Type

  • Bug Fix
  • Feature
  • Plugin

Are all requirements met?

  • Code completed
  • Smoke tested
  • Unit tests added
  • Code documentation added
  • Any pending items have an associated Issue

Complete description

This is useful to return inputs & outputs in sandbox mode when the signed url is host-specific. Also fixes the leaky abstraction presented by requiring a caller to concern themselves with where the data stored and having to parse the proto on their own.

Tracking Issue

flyteorg/flyte#419

Follow-up issue

NA
OR
https://github.com/lyft/flyte/issues/

@codecov-commenter
Copy link

codecov-commenter commented Jul 24, 2020

Codecov Report

Merging #109 into master will increase coverage by 0.15%.
The diff coverage is 84.41%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #109      +/-   ##
==========================================
+ Coverage   62.40%   62.55%   +0.15%     
==========================================
  Files         104      104              
  Lines        7652     7716      +64     
==========================================
+ Hits         4775     4827      +52     
- Misses       2314     2321       +7     
- Partials      563      568       +5     
Flag Coverage Δ
#unittests 62.55% <84.41%> (+0.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
pkg/manager/impl/task_execution_manager.go 70.24% <81.48%> (+0.84%) ⬆️
pkg/manager/impl/node_execution_manager.go 67.38% <82.14%> (+0.84%) ⬆️
pkg/manager/impl/execution_manager.go 69.20% <90.90%> (+0.52%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4aa1178...26dee27. Read the comment docs.

wild-endeavor
wild-endeavor previously approved these changes Jul 27, 2020
wild-endeavor
wild-endeavor previously approved these changes Aug 11, 2020
@@ -1019,10 +1021,32 @@ func (m *ExecutionManager) GetExecutionData(
if err != nil {
return nil, err
}
return &admin.WorkflowExecutionGetDataResponse{
response := &admin.WorkflowExecutionGetDataResponse{
Copy link
Contributor

Choose a reason for hiding this comment

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

@katrogan one reason to do this is to avoid having to sign the URL, so can we just do a HEAD, check the size and if that is ok then do a protobuf get using flytestdlib.storage?

Copy link
Contributor

Choose a reason for hiding this comment

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

or maybe i am misunderstanding, do we actually store the size of the payload in our database?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

until the UI transitions to using the new field, we should return both for backwards compatibility
but good point on using flytestdlib, will update

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no, we don't store the size

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh wait, and the storage client is using flytestdlib already

wild-endeavor
wild-endeavor previously approved these changes Aug 12, 2020
@katrogan katrogan merged commit 067dc91 into master Aug 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants