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

[DOC] New system property: opensearch.xcontent.fast_double_writer #4513

Closed
1 of 4 tasks
mgodwan opened this issue Jul 6, 2023 · 6 comments · Fixed by #4580
Closed
1 of 4 tasks

[DOC] New system property: opensearch.xcontent.fast_double_writer #4513

mgodwan opened this issue Jul 6, 2023 · 6 comments · Fixed by #4580
Assignees
Labels
3 - Done Issue is done/complete v2.9.0
Milestone

Comments

@mgodwan
Copy link
Member

mgodwan commented Jul 6, 2023

What do you want to do?

  • Request a change to existing documentation
  • Add new documentation
  • Report a technical problem with the documentation
  • Other

Tell us about your request.

Provide the documentation for recently introduced new system property opensearch.xcontent.fast_double_writer that allows to configure using fast double serialization features which provides better performance for serialization of floating point numbers.

What other resources are available? Provide links to related issues, POCs, steps for testing, etc.

Covered in issue: opensearch-project/OpenSearch#7822

@hdhalter hdhalter changed the title [DOC] [DOC] New system property: opensearch.xcontent.fast_double_writer.enabled Jul 6, 2023
@hdhalter
Copy link
Contributor

hdhalter commented Jul 6, 2023

Hi @mgodwan - Is this being introduced in version 2.9?

@mgodwan
Copy link
Member Author

mgodwan commented Jul 6, 2023

Yes, The changes have been merged already: opensearch-project/OpenSearch#8467 (comment)

@vagimeli vagimeli self-assigned this Jul 6, 2023
@hdhalter hdhalter added the v2.9.0 label Jul 7, 2023
@hdhalter hdhalter added this to the v2.9 milestone Jul 7, 2023
@hdhalter hdhalter added 1 - Backlog Issue: The issue is unassigned or assigned but not started and removed untriaged labels Jul 7, 2023
@vagimeli
Copy link
Contributor

vagimeli commented Jul 14, 2023

@mgodwan Where would the new documentation be published on the doc site? Should it be added to https://opensearch.org/docs/latest/install-and-configure/install-opensearch/index/#important-system-properties? Also, will you link me to the feature brief and dev docs?

@vagimeli vagimeli added 2 - In progress Issue/PR: The issue or PR is in progress. and removed 1 - Backlog Issue: The issue is unassigned or assigned but not started labels Jul 17, 2023
@vagimeli
Copy link
Contributor

@reta Can you help me with better understanding this doc request on this issue? Please see my question to @mgodwan
above.

@andrross
Copy link
Member

First, the issue description is incorrect: the system setting is opensearch.xcontent.fast_double_writer (no .enabled suffix). code link

Also, will you link me to the feature brief and dev docs?

@vagimeli There is no feature brief to my knowledge. This is a pretty low-level performance improvement and a system setting was added to alleviate concerns around potential incompatibilities.

I think it is logical to group it with the existing opensearch.xcontent setting documentation. I would document this something like the following:

  • opensearch.xcontent.fast_double_writer=[true|false]

By default, OpenSearch uses the floating point parsing capability built in to the Java Runtime Environment. Set this value to true to configure OpenSearch to use the FastDoubleParser library to parse floating point numbers, which has shown to be faster in many cases.


@mgodwan A couple questions for you:

  • This property defaults to false. Is that correct? The original issue talked about adding a property to enable users to opt out on 2.x versions, but it was implemented as an opt in. Please confirm that this is correct.
  • Can you give some guidance as to when a user should or should not enable this setting? I think the testing has shown it to be faster, so why would a user not want to set this?

@mgodwan mgodwan changed the title [DOC] New system property: opensearch.xcontent.fast_double_writer.enabled [DOC] New system property: opensearch.xcontent.fast_double_writer Jul 17, 2023
@mgodwan
Copy link
Member Author

mgodwan commented Jul 17, 2023

Thanks @andrross for pointing to the correct name of the property.
I've updated the issue title/description.

Where would the new documentation be published on the doc site? Should it be added to https://opensearch.org/docs/latest/install-and-configure/install-opensearch/index/#important-system-properties?

@vagimeli Yes, this seems to the correct place since we are already adding other system properties related to xcontent in the same place.

This property defaults to false. Is that correct? The original issue talked about adding a property to enable users to opt out on 2.x versions, but it was implemented as an opt in. Please confirm that this is correct.

@andrross Yes, we decided to make it an opt-in property to reduce the blast radius. This property only deals with floating point serialization (and not parsing which is always enabled as we didn't observe differences in the parsing of floating point numbers compare to java code)

Can you give some guidance as to when a user should or should not enable this setting? I think the testing has shown it to be faster, so why would a user not want to set this?

Possible description we can add for this can be:

The property can be set to determine whether to use standard Java code to write floats/doubles (default) or use the Schubfach algorithm which is faster. The latter approach may lead to small differences in the precision of the float/double that is written to the JSON output.

@hdhalter hdhalter added 3 - Done Issue is done/complete and removed 2 - In progress Issue/PR: The issue or PR is in progress. labels Jul 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Done Issue is done/complete v2.9.0
Projects
None yet
4 participants