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

Document expensive IMap reporting threshold & property #1498

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JamesHazelcast
Copy link
Contributor

Adds documentation about the expensive IMap client invocations logging, including the property used to control this threshold and guidance on which methods utilize this reporting.

Related PR: https://github.com/hazelcast/hazelcast-mono/pull/3856

Adds documentation about the expensive IMap client invocations logging, including the property used to control this threshold and guidance on which methods utilize this reporting.

Related PR: hazelcast/hazelcast-mono#3856
@JamesHazelcast JamesHazelcast added the enhancement New feature or request label Jan 23, 2025
@JamesHazelcast JamesHazelcast self-assigned this Jan 23, 2025
@JamesHazelcast JamesHazelcast requested a review from a team as a code owner January 23, 2025 11:24
Copy link

netlify bot commented Jan 23, 2025

Deploy Preview for hardcore-allen-f5257d ready!

Name Link
🔨 Latest commit 3bb7a59
🔍 Latest deploy log https://app.netlify.com/sites/hardcore-allen-f5257d/deploys/679226f085620c0009308540
😎 Deploy Preview https://deploy-preview-1498--hardcore-allen-f5257d.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Comment on lines +22 to +27
NOTE: Client invocations of certain `IMap` methods such as those described above
are logged on the member side when their results meet or exceed a threshold defined
by the Hazelcast property `hazelcast.expensive.imap.invocation.reporting.threshold`,
which has a default value of `100` results.
See the https://docs.hazelcast.org/docs/{full-version}/javadoc/com/hazelcast/spi/properties/ClusterProperty.html#EXPENSIVE_IMAP_INVOCATION_REPORTING_THRESHOLD[relevant Javadocs^]
for details on which `IMap` methods are logged.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
NOTE: Client invocations of certain `IMap` methods such as those described above
are logged on the member side when their results meet or exceed a threshold defined
by the Hazelcast property `hazelcast.expensive.imap.invocation.reporting.threshold`,
which has a default value of `100` results.
See the https://docs.hazelcast.org/docs/{full-version}/javadoc/com/hazelcast/spi/properties/ClusterProperty.html#EXPENSIVE_IMAP_INVOCATION_REPORTING_THRESHOLD[relevant Javadocs^]
for details on which `IMap` methods are logged.
To identify this potential problematic usage, client invocations of `IMap` methods such as those described above returning large results are logged on the member side.
The threshold for logging large results is defined
by the Hazelcast property `hazelcast.expensive.imap.invocation.reporting.threshold`,
which has a default value of `100` results.
See the https://docs.hazelcast.org/docs/{full-version}/javadoc/com/hazelcast/spi/properties/ClusterProperty.html#EXPENSIVE_IMAP_INVOCATION_REPORTING_THRESHOLD[relevant Javadocs^]
for details on which `IMap` methods are logged.

Nit - I feel like this could be split into two sections to be clearer. But I'm not sure mine is an improvement!

Copy link
Contributor

@Rob-Hazelcast Rob-Hazelcast Jan 23, 2025

Choose a reason for hiding this comment

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

Agree, but that opening sentence is a little hard to parse, and we need to be clear that it's a defined set of methods and a defined threshold. How about this:

Suggested change
NOTE: Client invocations of certain `IMap` methods such as those described above
are logged on the member side when their results meet or exceed a threshold defined
by the Hazelcast property `hazelcast.expensive.imap.invocation.reporting.threshold`,
which has a default value of `100` results.
See the https://docs.hazelcast.org/docs/{full-version}/javadoc/com/hazelcast/spi/properties/ClusterProperty.html#EXPENSIVE_IMAP_INVOCATION_REPORTING_THRESHOLD[relevant Javadocs^]
for details on which `IMap` methods are logged.
NOTE: To help you to monitor this potential problem, client invocations of certain `IMap` methods are logged on the member side when their results meet or exceed a threshold.
The threshold for logging large results is defined
by the Hazelcast property `hazelcast.expensive.imap.invocation.reporting.threshold`,
which has a default value of `100` results.
The relevant methods are listed in the https://docs.hazelcast.org/docs/{full-version}/javadoc/com/hazelcast/spi/properties/ClusterProperty.html#EXPENSIVE_IMAP_INVOCATION_REPORTING_THRESHOLD[Javadocs^].

I could go either way on using a note box, but we need it here because this doesn't follow on from "you should follow these best practices".

Should I be able to see that field at that link?

Anything we can say / link to about what to do with the logs?

devOpsHazelcast pushed a commit to hazelcast/hazelcast that referenced this pull request Jan 23, 2025
…5] (#3856)

Adds the cluster property
`hazelcast.expensive.imap.invocation.reporting.threshold` (default
`100`) to define the threshold at or above which expensive client
invocations are logged. This prevents excessive logging of normal
operations, including internal operations such as Jet snapshot
information retrieval.

The default threshold is fairly arbitrarily based on the comment where
this approach was first suggested:
https://hazelcast.atlassian.net/browse/SUP-735?focusedCommentId=106331

Docs PR: hazelcast/hz-docs#1498
Fixes https://hazelcast.atlassian.net/browse/HZG-305

GitOrigin-RevId: 6e61e27d2d59d59a3124262cc9f0e54c068085ed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants