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

OAK-8633: Add warn logs if we add/update a string property larger tha… #151

Closed
wants to merge 10,000 commits into from

Conversation

tihom88
Copy link
Contributor

@tihom88 tihom88 commented Sep 18, 2019

…n 100KB

anchela and others added 30 commits May 28, 2019 09:54
…hould never modify persistence - add ignored test

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1860330 13f79535-47bb-0310-9956-ffa450edef68
Clarify content model

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1860356 13f79535-47bb-0310-9956-ffa450edef68
trekawek and others added 25 commits August 21, 2019 09:54
Contribution by José Andrés Cordero Benítez.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1865623 13f79535-47bb-0310-9956-ffa450edef68
Apply patch provided by José Andrés Cordero Benítez

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1865688 13f79535-47bb-0310-9956-ffa450edef68
…' profile for CI testing (reverted r1863979)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1865691 13f79535-47bb-0310-9956-ffa450edef68
…doc generation because of conflicting Lucene versions in class path

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1865693 13f79535-47bb-0310-9956-ffa450edef68
…load URI

Add a new method #isInlined to Blob class to check if the external blob is id inlined

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1865962 13f79535-47bb-0310-9956-ffa450edef68
OAK-8552: Minimize network calls required when creating a direct download URI

Add a new method #isInlined to Blob class to check if the external blob is id inlined

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866022 13f79535-47bb-0310-9956-ffa450edef68
- Add a micro-benchmark for Binary#getUri

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866023 13f79535-47bb-0310-9956-ffa450edef68
…ss included in xml (initial-pw-change) - cleanup imports in test class

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866037 13f79535-47bb-0310-9956-ffa450edef68
…sts, one of which currently ignored

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866039 13f79535-47bb-0310-9956-ffa450edef68
…generation

This change adds a new optional configuration parameter for AzureDataStore and S3DataStore.  The new parameter, named "presignedHttpDownloadURIVerifyExists", has a default value of true which means the createHttpDownloadURI() method will ensure the requested blob exists in blob storage before creating the signed download URI.  If this parameter is set to false, the exists check will be skipped, resulting in higher signed download URI generation performance but potentially returning a URI to a nonexistent blob in some cases (see OAK-7998).


git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866044 13f79535-47bb-0310-9956-ffa450edef68
This change allows for specific monitoring of specific named loggers
that indicate where cloud data stores are streaming bytes to or
from cloud storage.  Useful for instances that are trying to
identify where upload or download streaming through the repository
is taking place for those that are attempting to replace such
activity with direct binary access in clients.


git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866061 13f79535-47bb-0310-9956-ffa450edef68
@@ -1379,6 +1380,11 @@ private Property internalSetProperty(
final String oakName = getOakPathOrThrow(checkNotNull(jcrName));
final PropertyState state = createSingleState(
oakName, value, Type.fromTag(value.getType(), false));
long maxStringPropertyLength = sessionContext.getRepository().getDescriptorValue(RepositoryImpl.MAX_STRING_PROPERTY_SIZE).getLong();
Copy link
Member

Choose a reason for hiding this comment

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

internalSetProperty is called very, very often. It is performance critical.

The method call getDescriptorValue is relatively slow. Instead, the value should be stored in the session context or the repository as a field, so it is faster to retrieve the value.

Also, the value is only needed for properties of type "string". So this line can be moved inside the "if (type == "string")".

@@ -1414,7 +1420,13 @@ private Property internalSetProperty(
if (values.length > MV_PROPERTY_WARN_THRESHOLD) {
LOG.warn("Large multi valued property [{}/{}] detected ({} values).",dlg.getPath(), jcrName, values.length);
}

long maxStringPropertyLength = sessionContext.getRepository().getDescriptorValue(RepositoryImpl.MAX_STRING_PROPERTY_SIZE).getLong();
Copy link
Member

Choose a reason for hiding this comment

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

Same as above.

@github-actions
Copy link

This PR is stale because it has been open 24 months with no activity. Remove stale label or comment or this will be closed in 30 days.

@github-actions github-actions bot added the Stale label Nov 16, 2022
@github-actions github-actions bot closed this Dec 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet