Skip to content
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

fix(core/pipeline): stop searching stage context, being greedy about parentExecutions #7127

Merged

Conversation

erikmunson
Copy link
Member

@erikmunson erikmunson commented Jun 18, 2019

Historically, we let folks to a text search on the name, id, trigger, and stage context of an execution. Later we stopped actually loading in full stage context data for un-expanded executions to improve some performance problems, but that had the side effect of making context search pretty weird and seemingly non-deterministic from a user point of view (due to not knowing whether a value would be available or left out of search).

Two changes:

  • Stop giving people weird experiences trying to guess what's searchable and what's not by no longer searching in stage context. This leaves name, id, and all the trigger fields. There's some help text about what you can search for that has been updated too
  • Fix an awesome bug with parentExecution fields on triggers: we were trying to stringify all the fields (including nesting) on each trigger, but sometimes that includes a parentExecution. Because we didn't explicitly omit that field, we'd end up also making every single value in the entire parent execution available for searching on the child. This has lead to some totally bizarre search results

In a perfect world with infinite time, it'd be nice to use a backend search that could do more advanced filtering and continue to let people search in stage context, but in the near-term I'm making the case that our current user confusion is worse than not being able to search in context at all.

@@ -137,10 +137,8 @@ export class ExecutionFilterService {
const searchText = [execution.name];
searchText.push(execution.id);
searchText.push(this.getValuesAsString(execution.appConfig));
Copy link
Member Author

Choose a reason for hiding this comment

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

@anotherchrisberry do you happen to remember whether appConfig is still a valid thing to search on? If not I'll rip it out too.

Copy link
Contributor

Choose a reason for hiding this comment

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

might as well remove it

Copy link
Member Author

Choose a reason for hiding this comment

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

@erikmunson erikmunson merged commit 5c4facb into spinnaker:master Jun 18, 2019
@erikmunson erikmunson deleted the stop-searching-execution-context branch June 18, 2019 16:40
alanmquach added a commit to alanmquach/deck that referenced this pull request Jun 18, 2019
939d608 fix(pipeline): fix invisible parameter when default is not in options (spinnaker#7125)
5c4facb fix(core/pipeline): stop searching stage context, being greedy about parentExecutions (spinnaker#7127)
8fe74bc fix(core): do not inject default execution window values on render (spinnaker#7122)
ee6fbe0 fix(core/pipeline): use correct visibility default for stage durations (spinnaker#7121)
c88234c refactor(stages): Fixed alias matching, added fallback and unit tests (spinnaker#7080)
c358801 refactor(core): Reactify ExecutionWindows component (spinnaker#7113)
744123d fix(artifact): use artifact icons in server group link (spinnaker#7118)
b8aebd7 fix(forms): Fixed SpelText not firing onChange upon autocomplete (spinnaker#7114)
4e2f749 refactor(core): reactify overrideFailure component (spinnaker#7107)
4f07aeb fix(core): Make template table list scrollable (spinnaker#7111)
e5d6115 fix(core): Display template inherited items (mptv2) as read only (spinnaker#7102)
anotherchrisberry pushed a commit that referenced this pull request Jun 18, 2019
939d608 fix(pipeline): fix invisible parameter when default is not in options (#7125)
5c4facb fix(core/pipeline): stop searching stage context, being greedy about parentExecutions (#7127)
8fe74bc fix(core): do not inject default execution window values on render (#7122)
ee6fbe0 fix(core/pipeline): use correct visibility default for stage durations (#7121)
c88234c refactor(stages): Fixed alias matching, added fallback and unit tests (#7080)
c358801 refactor(core): Reactify ExecutionWindows component (#7113)
744123d fix(artifact): use artifact icons in server group link (#7118)
b8aebd7 fix(forms): Fixed SpelText not firing onChange upon autocomplete (#7114)
4e2f749 refactor(core): reactify overrideFailure component (#7107)
4f07aeb fix(core): Make template table list scrollable (#7111)
e5d6115 fix(core): Display template inherited items (mptv2) as read only (#7102)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants