[jira] [Commented] (OAK-10684) update maven-shade-plugin version to 3.5.2
[ https://issues.apache.org/jira/browse/OAK-10684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822646#comment-17822646 ] Julian Reschke commented on OAK-10684: -- trunk: [4e92b7d870|https://github.com/apache/jackrabbit-oak-/commit/4e92b7d8703be8a46754710971012af8b2f8a6bb] > update maven-shade-plugin version to 3.5.2 > -- > > Key: OAK-10684 > URL: https://issues.apache.org/jira/browse/OAK-10684 > Project: Jackrabbit Oak > Issue Type: Task > Components: parent >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.62.0 > > > (previously defaulted) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (OAK-10684) update maven-shade-plugin version to 3.5.2
[ https://issues.apache.org/jira/browse/OAK-10684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke resolved OAK-10684. -- Fix Version/s: 1.62.0 Resolution: Fixed > update maven-shade-plugin version to 3.5.2 > -- > > Key: OAK-10684 > URL: https://issues.apache.org/jira/browse/OAK-10684 > Project: Jackrabbit Oak > Issue Type: Task > Components: parent >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.62.0 > > > (previously defaulted) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (OAK-10686) parent: add project.build.outputTimestamp property for Reproducable Builds
[ https://issues.apache.org/jira/browse/OAK-10686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-10686: - Labels: candidate_oak_1_22 (was: ) > parent: add project.build.outputTimestamp property for Reproducable Builds > -- > > Key: OAK-10686 > URL: https://issues.apache.org/jira/browse/OAK-10686 > Project: Jackrabbit Oak > Issue Type: Task > Components: parent >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_22 > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (OAK-10686) parent: add project.build.outputTimestamp property for Reproducable Builds
Julian Reschke created OAK-10686: Summary: parent: add project.build.outputTimestamp property for Reproducable Builds Key: OAK-10686 URL: https://issues.apache.org/jira/browse/OAK-10686 Project: Jackrabbit Oak Issue Type: Task Components: parent Reporter: Julian Reschke Assignee: Julian Reschke -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10662) improve Reproducible Builds
[ https://issues.apache.org/jira/browse/OAK-10662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822620#comment-17822620 ] Julian Reschke commented on OAK-10662: -- [~hboutemy] - I'm confused about the role of the scm/tag element. Yes, it's clearly incorrect, but then, it doesn't seem to matter? Maybe we could just remove it? In any case, the current value was set by the release plugin: https://github.com/apache/jackrabbit-oak/blame/ba989d762e8bdd242cd5d25d20390361f8a18365/oak-parent/pom.xml#L1344 Do we have a bug here? > improve Reproducible Builds > --- > > Key: OAK-10662 > URL: https://issues.apache.org/jira/browse/OAK-10662 > Project: Jackrabbit Oak > Issue Type: Improvement >Affects Versions: 1.60.0 >Reporter: Herve Boutemy >Priority: Major > Fix For: 1.62.0 > > > release 1.60.0 is quite good: 143 ok, 11 ko > there are some easy fixes > and probably harder ones later > see > https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/jackrabbit/oak/README.md -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (OAK-10655) Improve warning emitted for Unexpected changes performed on a non-default mount
[ https://issues.apache.org/jira/browse/OAK-10655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Konrad Windszus resolved OAK-10655. --- Fix Version/s: 1.62.0 Resolution: Fixed Fixed in https://github.com/apache/jackrabbit-oak/commit/ba989d762e8bdd242cd5d25d20390361f8a18365. > Improve warning emitted for Unexpected changes performed on a non-default > mount > --- > > Key: OAK-10655 > URL: https://issues.apache.org/jira/browse/OAK-10655 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: composite >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > Fix For: 1.62.0 > > > Currently the feature provided in OAK-9208 emits WARNs like the following > {code} > 5.02.2024 11:46:49.748 *WARN* [ResourceResolverFactory registration] > org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$ChangeReporter > Unexpected changes (38) performed on a non-default mount. Printing at most > 50_- /apps : Changed_- > java.lang.RuntimeException: null > at > org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver$CountingDiff.report(NonDefaultMountWriteReportingObserver.java:106) > at > org.apache.jackrabbit.oak.composite.impl.NonDefaultMountWriteReportingObserver.contentChanged(NonDefaultMountWriteReportingObserver.java:88) > at > org.apache.jackrabbit.oak.spi.commit.CompositeObserver.contentChanged(CompositeObserver.java:51) > at > org.apache.jackrabbit.oak.spi.commit.ChangeDispatcher.contentChanged(ChangeDispatcher.java:79) > at > org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$ObservableLockBasedScheduler.contentChanged(LockBasedScheduler.java:394) > at > org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:303) > at > org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270) > at > org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211) > at > org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:262) > at > org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate$WorkspaceCopy.perform(WorkspaceDelegate.java:130) > at > org.apache.jackrabbit.oak.jcr.delegate.WorkspaceDelegate.copy(WorkspaceDelegate.java:99) > at > org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl$2.performVoid(WorkspaceImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:299) > at > org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:150) > at > org.apache.jackrabbit.oak.jcr.session.WorkspaceImpl.copy(WorkspaceImpl.java:132) > at > . > {code} > It would be useful to add a dedicated exception message to the throwable (or > prevent logging it) and indicate that this only indicates where the JCR > session has been committed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10683) Update spring-boot dependency to version 2.7.18
[ https://issues.apache.org/jira/browse/OAK-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822608#comment-17822608 ] Julian Reschke commented on OAK-10683: -- trunk: [8db0691ac4|https://github.com/apache/jackrabbit-oak-/commit/8db0691ac42e0b8d09ed76cf5273521acb5ac2c1] > Update spring-boot dependency to version 2.7.18 > --- > > Key: OAK-10683 > URL: https://issues.apache.org/jira/browse/OAK-10683 > Project: Jackrabbit Oak > Issue Type: Task > Components: standalone >Reporter: Manfred Baedke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_22 > Fix For: 1.62.0 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (OAK-10683) Update spring-boot dependency to version 2.7.18
[ https://issues.apache.org/jira/browse/OAK-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-10683: - Labels: candidate_oak_1_22 (was: ) > Update spring-boot dependency to version 2.7.18 > --- > > Key: OAK-10683 > URL: https://issues.apache.org/jira/browse/OAK-10683 > Project: Jackrabbit Oak > Issue Type: Task > Components: standalone >Reporter: Manfred Baedke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_22 > Fix For: 1.62.0 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (OAK-10683) Update spring-boot dependency to version 2.7.18
[ https://issues.apache.org/jira/browse/OAK-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke resolved OAK-10683. -- Fix Version/s: 1.62.0 Resolution: Fixed > Update spring-boot dependency to version 2.7.18 > --- > > Key: OAK-10683 > URL: https://issues.apache.org/jira/browse/OAK-10683 > Project: Jackrabbit Oak > Issue Type: Task > Components: standalone >Reporter: Manfred Baedke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.62.0 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (OAK-10685) reduce overall usage of (shaded) Guava
[ https://issues.apache.org/jira/browse/OAK-10685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-10685: - Description: {noformat} for i in oak*/src/main ; do ( cd $i ; grep -h "import.*guava.*;" -R $(find . -name "*.java")) ; done | sort | uniq -c | sort -n {noformat} currently yields {noformat} 1 import org.apache.jackrabbit.guava.common.base.CaseFormat; 1 import org.apache.jackrabbit.guava.common.base.CharMatcher; 1 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap; 1 import org.apache.jackrabbit.guava.common.collect.HashBiMap; 1 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap; 1 import org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap; 1 import org.apache.jackrabbit.guava.common.escape.Escapers; 1 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction; 1 import org.apache.jackrabbit.guava.common.graph.Traverser; 1 import org.apache.jackrabbit.guava.common.hash.Funnel; 1 import org.apache.jackrabbit.guava.common.hash.Funnels; 1 import org.apache.jackrabbit.guava.common.hash.HashCode; 1 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink; 1 import org.apache.jackrabbit.guava.common.primitives.Chars; 1 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes; 1 import org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService; 1 import org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback; 1 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex; 1 import static org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue; 1 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull; 1 import static org.apache.jackrabbit.guava.common.base.StandardSystemProperty.JAVA_IO_TMPDIR; 1 import static org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty; 1 import static org.apache.jackrabbit.guava.common.base.Strings.repeat; 1 import static org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString; 1 import static org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder; 1 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED; 1 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED; 1 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE; 1 import static org.apache.jackrabbit.guava.common.collect.Collections2.transform; 1 import static org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf; 1 import static org.apache.jackrabbit.guava.common.collect.Iterables.all; 1 import static org.apache.jackrabbit.guava.common.collect.Iterables.cycle; 1 import static org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual; 1 import static org.apache.jackrabbit.guava.common.collect.Iterables.limit; 1 import static org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted; 1 import static org.apache.jackrabbit.guava.common.collect.Iterators.partition; 1 import static org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator; 1 import static org.apache.jackrabbit.guava.common.collect.Iterators.size; 1 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize; 1 import static org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList; 1 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue; 1 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque; 1 import static org.apache.jackrabbit.guava.common.collect.Sets.filter; 1 import static org.apache.jackrabbit.guava.common.collect.Sets.intersection; 1 import static org.apache.jackrabbit.guava.common.escape.Escapers.builder; 1 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read; 1 import static org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND; 1 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink; 1 import static org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare; 1 import static org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyEquals; 1 import static org.apache.jackrabbit.guava.common.util.concurrent.Atomics.newReference; 2 import org.apache.jackrabbit.guava.common.annotations.VisibleForTesting; 2 import org.apache.jackrabbit.guava.common.base.Throwables; 2 import org.apache.jackrabbit.guava.common.cache.AbstractCache; 2 import org.apache.jackrabbit.guava.common.collect.HashMultimap; 2 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap; 2
[jira] [Updated] (OAK-10685) reduce overall usage of (shaded) Guava
[ https://issues.apache.org/jira/browse/OAK-10685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-10685: - Description: {noformat} for i in oak*/src/main ; do ( cd $i ; grep -h "import.*guava.*;" -R $(find . -name "*.java")) ; done | sort | uniq -c | sort -n {noformat} currently yields {noformat} 40 import org.apache.jackrabbit.guava.common.base.CaseFormat; 40 import org.apache.jackrabbit.guava.common.base.CharMatcher; 40 import org.apache.jackrabbit.guava.common.collect.BiMap; 40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap; 40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet; 40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain; 40 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap; 40 import org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap; 40 import org.apache.jackrabbit.guava.common.collect.Range; 40 import org.apache.jackrabbit.guava.common.escape.Escapers; 40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction; 40 import org.apache.jackrabbit.guava.common.graph.Traverser; 40 import org.apache.jackrabbit.guava.common.hash.Funnel; 40 import org.apache.jackrabbit.guava.common.hash.Funnels; 40 import org.apache.jackrabbit.guava.common.hash.HashCode; 40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink; 40 import org.apache.jackrabbit.guava.common.primitives.Chars; 40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes; 40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics; 40 import org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture; 40 import org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService; 40 import static org.apache.jackrabbit.guava.common.base.Functions.compose; 40 import static org.apache.jackrabbit.guava.common.base.Functions.constant; 40 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull; 40 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.compose; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull; 40 import static org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME; 40 import static org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty; 40 import static org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString; 40 import static org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE; 40 import static org.apache.jackrabbit.guava.common.collect.Collections2.transform; 40 import static org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf; 40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*; 40 import static org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.partition; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.size; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.transform; 40 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue; 40 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque; 40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter; 40 import static org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference; 40 import static org.apache.jackrabbit.guava.common.escape.Escapers.builder; 40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read; 40 import static org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND; 40 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink; 40 import static org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare; 40 import
[jira] [Created] (OAK-10685) reduce overall usage of (shaded) Guava
Julian Reschke created OAK-10685: Summary: reduce overall usage of (shaded) Guava Key: OAK-10685 URL: https://issues.apache.org/jira/browse/OAK-10685 Project: Jackrabbit Oak Issue Type: Task Reporter: Julian Reschke {noformat} for i in oak*/src/main ; do grep -h "import.*guava.*" -R $(find . -name "*.java") ; done | sort | uniq -c | sort -n {noformat} currently yields {noformat} 40 import org.apache.jackrabbit.guava.common.base.CaseFormat; 40 import org.apache.jackrabbit.guava.common.base.CharMatcher; 40 import org.apache.jackrabbit.guava.common.collect.BiMap; 40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap; 40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet; 40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain; 40 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap; 40 import org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap; 40 import org.apache.jackrabbit.guava.common.collect.Range; 40 import org.apache.jackrabbit.guava.common.escape.Escapers; 40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction; 40 import org.apache.jackrabbit.guava.common.graph.Traverser; 40 import org.apache.jackrabbit.guava.common.hash.Funnel; 40 import org.apache.jackrabbit.guava.common.hash.Funnels; 40 import org.apache.jackrabbit.guava.common.hash.HashCode; 40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink; 40 import org.apache.jackrabbit.guava.common.primitives.Chars; 40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes; 40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics; 40 import org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture; 40 import org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService; 40 import static org.apache.jackrabbit.guava.common.base.Functions.compose; 40 import static org.apache.jackrabbit.guava.common.base.Functions.constant; 40 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull; 40 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.compose; 40 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull; 40 import static org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME; 40 import static org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty; 40 import static org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString; 40 import static org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED; 40 import static org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE; 40 import static org.apache.jackrabbit.guava.common.collect.Collections2.transform; 40 import static org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf; 40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*; 40 import static org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.partition; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator; 40 import static org.apache.jackrabbit.guava.common.collect.Iterators.size; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList; 40 import static org.apache.jackrabbit.guava.common.collect.Lists.transform; 40 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue; 40 import static org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque; 40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter; 40 import static org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference; 40 import static org.apache.jackrabbit.guava.common.escape.Escapers.builder; 40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read; 40 import static org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND; 40 import static
[jira] [Commented] (OAK-10674) DocumentStore: verify that we could use Oak's Bloom filter
[ https://issues.apache.org/jira/browse/OAK-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822578#comment-17822578 ] Julian Reschke commented on OAK-10674: -- Sounds good. We should minimize the effort required to switch away from Guava... > DocumentStore: verify that we could use Oak's Bloom filter > -- > > Key: OAK-10674 > URL: https://issues.apache.org/jira/browse/OAK-10674 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Julian Reschke >Priority: Major > > Test that we can use > oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/utils/BloomFilter.java > (for now, by copying it over). > Then decide about where to move it, and whether API changes are desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (OAK-10674) DocumentStore: verify that we could use Oak's Bloom filter
[ https://issues.apache.org/jira/browse/OAK-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822576#comment-17822576 ] Thomas Mueller edited comment on OAK-10674 at 3/1/24 1:44 PM: -- [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. This internally uses the hashCode() * method to derive a high-quality hash code. * * @param obj the object (must not be null) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(Hash.hash64(obj.hashCode())); } {noformat} was (Author: tmueller): [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. * * @param hash the hash value (need to be a high quality hash code, with all * bits having high entropy) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(Hash.hash64(obj.hashCode())); } {noformat} > DocumentStore: verify that we could use Oak's Bloom filter > -- > > Key: OAK-10674 > URL: https://issues.apache.org/jira/browse/OAK-10674 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Julian Reschke >Priority: Major > > Test that we can use > oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/utils/BloomFilter.java > (for now, by copying it over). > Then decide about where to move it, and whether API changes are desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (OAK-10674) DocumentStore: verify that we could use Oak's Bloom filter
[ https://issues.apache.org/jira/browse/OAK-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822576#comment-17822576 ] Thomas Mueller edited comment on OAK-10674 at 3/1/24 1:44 PM: -- [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. This internally uses the hashCode() * method to derive a high-quality hash code. * * @param obj the object (must not be null) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(Hash.hash64(obj.hashCode())); } {noformat} I can work on this, no issue. We need to also move over some tests. was (Author: tmueller): [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. This internally uses the hashCode() * method to derive a high-quality hash code. * * @param obj the object (must not be null) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(Hash.hash64(obj.hashCode())); } {noformat} > DocumentStore: verify that we could use Oak's Bloom filter > -- > > Key: OAK-10674 > URL: https://issues.apache.org/jira/browse/OAK-10674 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Julian Reschke >Priority: Major > > Test that we can use > oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/utils/BloomFilter.java > (for now, by copying it over). > Then decide about where to move it, and whether API changes are desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (OAK-10674) DocumentStore: verify that we could use Oak's Bloom filter
[ https://issues.apache.org/jira/browse/OAK-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822576#comment-17822576 ] Thomas Mueller edited comment on OAK-10674 at 3/1/24 1:43 PM: -- [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. * * @param hash the hash value (need to be a high quality hash code, with all * bits having high entropy) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(Hash.hash64(obj.hashCode())); } {noformat} was (Author: tmueller): [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. * * @param hash the hash value (need to be a high quality hash code, with all * bits having high entropy) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(obj.hashCode()); } {noformat} > DocumentStore: verify that we could use Oak's Bloom filter > -- > > Key: OAK-10674 > URL: https://issues.apache.org/jira/browse/OAK-10674 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Julian Reschke >Priority: Major > > Test that we can use > oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/utils/BloomFilter.java > (for now, by copying it over). > Then decide about where to move it, and whether API changes are desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10674) DocumentStore: verify that we could use Oak's Bloom filter
[ https://issues.apache.org/jira/browse/OAK-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822576#comment-17822576 ] Thomas Mueller commented on OAK-10674: -- [~reschke] best would be to move over org.apache.jackrabbit.oak.index.indexer.document.flatfile.analysis.utils.Hash as well. And then we can add a convenience methods: {noformat} /** * Add an entry. This internally uses the hashCode() method to derive a * high-quality hash code. * * @param obj the object (must not be null) */ public void add(@NotNull Object obj) { add(Hash.hash64(obj.hashCode())); } /** * Whether the entry may be in the set. * * @param hash the hash value (need to be a high quality hash code, with all * bits having high entropy) * @return true if the entry was added, or, with a certain false positive * probability, even if it was not added */ public boolean mayContain(@NotNull Object obj) { return mayContain(obj.hashCode()); } {noformat} > DocumentStore: verify that we could use Oak's Bloom filter > -- > > Key: OAK-10674 > URL: https://issues.apache.org/jira/browse/OAK-10674 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Julian Reschke >Priority: Major > > Test that we can use > oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/utils/BloomFilter.java > (for now, by copying it over). > Then decide about where to move it, and whether API changes are desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (OAK-10684) update maven-shade-plugin version to 3.5.2
[ https://issues.apache.org/jira/browse/OAK-10684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke reassigned OAK-10684: Assignee: Julian Reschke > update maven-shade-plugin version to 3.5.2 > -- > > Key: OAK-10684 > URL: https://issues.apache.org/jira/browse/OAK-10684 > Project: Jackrabbit Oak > Issue Type: Task > Components: parent >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > > (previously defaulted) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (OAK-10684) update maven-shade-plugin version to 3.5.2
Julian Reschke created OAK-10684: Summary: update maven-shade-plugin version to 3.5.2 Key: OAK-10684 URL: https://issues.apache.org/jira/browse/OAK-10684 Project: Jackrabbit Oak Issue Type: Task Components: parent Reporter: Julian Reschke (previously defaulted) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (OAK-10680) tests failures with com.arakelian/docker-junit-rule
[ https://issues.apache.org/jira/browse/OAK-10680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822568#comment-17822568 ] Manfred Baedke commented on OAK-10680: -- PR#1336 moves to Testcontainers > tests failures with com.arakelian/docker-junit-rule > --- > > Key: OAK-10680 > URL: https://issues.apache.org/jira/browse/OAK-10680 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk, segment-azure >Affects Versions: 1.22.18 >Reporter: Julian Reschke >Assignee: Manfred Baedke >Priority: Major > > Tests have started to fail, probably because the ancient version of > com.arakelian/docker-junit-rule does not work properly with recent Docker > versions. > A potential fix would be to backport OAK-10464 to the maintenance branch. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (OAK-10683) Update spring-boot dependency to version 2.7.18
Julian Reschke created OAK-10683: Summary: Update spring-boot dependency to version 2.7.18 Key: OAK-10683 URL: https://issues.apache.org/jira/browse/OAK-10683 Project: Jackrabbit Oak Issue Type: Task Components: standalone Reporter: Manfred Baedke Assignee: Manfred Baedke Fix For: 1.54.0 -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (OAK-10683) Update spring-boot dependency to version 2.7.18
[ https://issues.apache.org/jira/browse/OAK-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke reassigned OAK-10683: Assignee: Julian Reschke (was: Manfred Baedke) > Update spring-boot dependency to version 2.7.18 > --- > > Key: OAK-10683 > URL: https://issues.apache.org/jira/browse/OAK-10683 > Project: Jackrabbit Oak > Issue Type: Task > Components: standalone >Reporter: Manfred Baedke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.54.0 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (OAK-10683) Update spring-boot dependency to version 2.7.18
[ https://issues.apache.org/jira/browse/OAK-10683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-10683: - Fix Version/s: (was: 1.54.0) > Update spring-boot dependency to version 2.7.18 > --- > > Key: OAK-10683 > URL: https://issues.apache.org/jira/browse/OAK-10683 > Project: Jackrabbit Oak > Issue Type: Task > Components: standalone >Reporter: Manfred Baedke >Assignee: Julian Reschke >Priority: Minor > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (OAK-10682) [Indexing job] Improve Mongo regex filter to only use positive conditions (no negations)
Nuno Santos created OAK-10682: - Summary: [Indexing job] Improve Mongo regex filter to only use positive conditions (no negations) Key: OAK-10682 URL: https://issues.apache.org/jira/browse/OAK-10682 Project: Jackrabbit Oak Issue Type: Improvement Components: indexing Environment: The current implementation of filtering excluded paths and custom regex is using a condition like {noformat} { _id: { $nin: [ /^[0-9]{1,3}:\/content\/dam\/.*$/ ]} {noformat} Mongo cannot evaluate this condition without retrieving the full document, because a value of {{_null}} would also match this condition and the index does not contain {{null}} values. Therefore, when the index contains excluded paths, the download will be much slower because Mongo has to retrieve every single document to evaluate the condition. As a workaround, we can transform the regex on an equivalent one that matches the complement of the original regex using [negative lookahead|https://stackoverflow.com/questions/1240275/how-to-negate-specific-word-in-regex]. This allows rewriting the filter condition using only positive conditions, which can be evaluated using only the index. Reporter: Nuno Santos -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (OAK-10681) [indexing job] Support custom filters of paths on Mongo
Nuno Santos created OAK-10681: - Summary: [indexing job] Support custom filters of paths on Mongo Key: OAK-10681 URL: https://issues.apache.org/jira/browse/OAK-10681 Project: Jackrabbit Oak Issue Type: Improvement Components: indexing Reporter: Nuno Santos The indexing job often has to download parts of the Oak tree that are not needed for the indexes being indexed. The index definitions can define included/excludedPaths to control which parts of the tree to index and the indexing job uses this to filter on Mongo the documents that should be sent. But often there are subtrees in Oak that are not needed for indexing but are not excluded by the index definitions, for instance, subtrees with hidden binary data. This task is to add a configuration option to Oak to specify a list of subtrees that should not be downloaded in any case, for instance: {noformat} customExcludedPaths = "/foo;/tmp/bar" {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (OAK-10464) Use Testcontainers instead of com.arakelian:docker-junit-rule
[ https://issues.apache.org/jira/browse/OAK-10464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Manfred Baedke reassigned OAK-10464: Assignee: (was: Manfred Baedke) > Use Testcontainers instead of com.arakelian:docker-junit-rule > - > > Key: OAK-10464 > URL: https://issues.apache.org/jira/browse/OAK-10464 > Project: Jackrabbit Oak > Issue Type: Task > Components: test >Reporter: Miroslav Smiljanic >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.60.0 > > > com.arakelian:docker-junit-rule embeds Spotify docker client, and that one > has an issue running on Apple silicon > [https://github.com/spotify/dockerfile-maven/issues/394] > We should switch to Testcontainers. > [https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.56.0/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzuriteDockerRule.java] > > [https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.56.0/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDockerRule.java] > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (OAK-10464) Use Testcontainers instead of com.arakelian:docker-junit-rule
[ https://issues.apache.org/jira/browse/OAK-10464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Manfred Baedke reassigned OAK-10464: Assignee: Manfred Baedke > Use Testcontainers instead of com.arakelian:docker-junit-rule > - > > Key: OAK-10464 > URL: https://issues.apache.org/jira/browse/OAK-10464 > Project: Jackrabbit Oak > Issue Type: Task > Components: test >Reporter: Miroslav Smiljanic >Assignee: Manfred Baedke >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.60.0 > > > com.arakelian:docker-junit-rule embeds Spotify docker client, and that one > has an issue running on Apple silicon > [https://github.com/spotify/dockerfile-maven/issues/394] > We should switch to Testcontainers. > [https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.56.0/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzuriteDockerRule.java] > > [https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.56.0/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDockerRule.java] > > -- This message was sent by Atlassian Jira (v8.20.10#820010)