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

Add optional description parameter to ingest processors. #57906

Merged
merged 10 commits into from
Jun 15, 2020

Conversation

talevy
Copy link
Contributor

@talevy talevy commented Jun 9, 2020

This commit adds an optional field, description, to all ingest processors
so that users can explain the purpose of the specific processor instance.

Closes #56000.

This commit adds an optional field, `description`, to all ingest processors
so that users can explain the purpose of the specific processor instance.

Closes elastic#56000.
@talevy talevy added >enhancement :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP v8.0.0 v7.9.0 labels Jun 9, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (:Core/Features/Ingest)

@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Jun 9, 2020
@talevy talevy requested a review from jakelandis June 10, 2020 22:40
@talevy
Copy link
Contributor Author

talevy commented Jun 10, 2020

I still need to do a BWC check. but it is not clear to me how to do this best. simply create a pipeline with processors with a description in a mixed-cluster and then read? and hope via randomization that we get an old node reading the pipeline?

@jakelandis
Copy link
Contributor

I still need to do a BWC check.

I don't think so... the only BWC concern with the changes here are on serialization of the JSON for response to the GET pipeline REST action and read/write from cluster state. The former just delegates to XContentHelper.convertToMap and the latter is stored via BytesReference and gets inflated to a Map. I don't think there is anything specific to the changes here w.r.t BWC that need to be tested.

FWIW, I manually tested writing the new description field to cluster state with the code here, and read it back in with master (that does not contain the code here). Because of the general serialization BytesReference and Maps, the description actually displays on the earlier versions that don't support description.

@jakelandis
Copy link
Contributor

Did you want to include support for simulate?verbose on this PR ? If not, I have another inflight PR that touches the simulate stuff i can address there.

Copy link
Contributor

@jakelandis jakelandis left a comment

Choose a reason for hiding this comment

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

LGTM - as is.

However a minor addition to the 20_crud.yml test would be nice.

@talevy
Copy link
Contributor Author

talevy commented Jun 12, 2020

thanks @jakelandis! getting to this all now

@talevy
Copy link
Contributor Author

talevy commented Jun 12, 2020

Did you want to include support for simulate?verbose on this PR ?

I did not think it would be of value to include the description in each verbose processor response. @jloleysens, is this something that would be needed by the the pipeline builder?

@talevy
Copy link
Contributor Author

talevy commented Jun 12, 2020

fyi, the behavior is that a mixed cluster will not allow pipelines with description in the processors

{
  "error" : {
    "root_cause" : [
      {
        "type" : "parse_exception",
        "reason" : "processor [set] doesn't support one or more provided configuration parameters [description]",
        "processor_type" : "set"
      }
    ],
    "type" : "parse_exception",
    "reason" : "processor [set] doesn't support one or more provided configuration parameters [description]",
    "processor_type" : "set"
  },
  "status" : 400
}

@jloleysens
Copy link
Contributor

jloleysens commented Jun 15, 2020

I did not think it would be of value to include the description in each verbose processor response. @jloleysens, is this something that would be needed by the the pipeline builder?

@talevy

Yeah I'm not sure that this is desirable. With the work being done on the _simulate endpoint I think we will be able to associate a verbose result with a specific processor - and so still have access to the that information for a given response. The tying back from a result to the processor instance, user side, is the important bit.

@talevy
Copy link
Contributor Author

talevy commented Jun 15, 2020

thanks @jloleysens, that was helpful!

@talevy
Copy link
Contributor Author

talevy commented Jun 15, 2020

@elasticmachine run elasticsearch-ci/bwc

@talevy talevy merged commit 69a6a18 into elastic:master Jun 15, 2020
@talevy talevy deleted the ingest-description branch June 15, 2020 21:08
talevy added a commit to talevy/elasticsearch that referenced this pull request Jun 15, 2020
This commit adds an optional field, `description`, to all ingest processors
so that users can explain the purpose of the specific processor instance.

Closes elastic#56000.
talevy added a commit that referenced this pull request Jun 16, 2020
…8152)

This commit adds an optional field, `description`, to all ingest processors
so that users can explain the purpose of the specific processor instance.

Closes #56000.
jakelandis added a commit to jakelandis/elasticsearch that referenced this pull request Jun 16, 2020
For ingest node processors a per processor description
was recently added. This commit displays that description
in the verbose output of the pipeline simulation.

related elastic#57906
jakelandis added a commit that referenced this pull request Jul 21, 2020
For ingest node processors a per processor description
was recently added. This commit displays that description
in the verbose output of the pipeline simulation.

related #57906
jakelandis added a commit to jakelandis/elasticsearch that referenced this pull request Jul 21, 2020
For ingest node processors a per processor description
was recently added. This commit displays that description
in the verbose output of the pipeline simulation.

related elastic#57906
jakelandis added a commit that referenced this pull request Jul 21, 2020
For ingest node processors a per processor description
was recently added. This commit displays that description
in the verbose output of the pipeline simulation.

related #57906
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>breaking-java :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP >enhancement Team:Data Management Meta label for data/management team v7.9.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Ingest Node Pipelines] New description field for processors
4 participants