[jira] [Commented] (JCR-4832) commons-compress jar seems to be missing in JCA archive

2023-06-26 Thread Chris Poulsen (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737453#comment-17737453
 ] 

Chris Poulsen commented on JCR-4832:


The issue is very much still present, AFAIK! Our logs are full of crap (a bunch 
of errors/stack traces) when we start up the new versions. 

The configuration of the bundled TIKA does not match the provided dependencies, 
so there is no surprise that there are errors about missing classes. 

I never got around to check, but I'm also pretty sure that the indexes built 
with the newer versions take up less space on disk (probably an indication that 
the indexing is not including the same stuff as it did with previous versions).

We do not seem to rely on the features from TIKA, so it seems that the 
functionality we use is unaffected. So far we have just crossed our fingers 
that it did not start to break stuff at some point and kept on going with our 
daily work. 

> commons-compress jar seems to be missing in JCA archive
> ---
>
> Key: JCR-4832
> URL: https://issues.apache.org/jira/browse/JCR-4832
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-jca
>Affects Versions: 2.20.6
>Reporter: Chris Poulsen
>Priority: Major
> Attachments: tika-commons-compress.txt
>
>
> I'm trying to upgrade to Jackrabbit v2.20.6 as part of a larger dependency 
> update.
> We use the JCA archive because we need XA transactions.
> During deployment of the 2.20.6 archive I see stacktraces with:
> {code:java}
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.compress.compressors.CompressorException {code}
> (More complete log attached)
> As far as I can tell, you include:
> {code:java}
> org.apache.tika:tika-parser-zip-commons:2.4.0{code}
> Which in turn has a dependency on:
> {code:java}
> org.apache.commons:commons-compress:1.21 {code}
> And the latter is not present in the JCA archive.
> I do not think that we are relying much on the Tika stuff, but I am a bit 
> worried that something is not working correctly based on all these stack 
> traces.
> I guess the missing dependency is a bug.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCR-4926) Support CUBRID database in Jackrabbit 2

2023-06-26 Thread Woonsan Ko (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737382#comment-17737382
 ] 

Woonsan Ko commented on JCR-4926:
-

Thanks! Will come up with a new PR for docs.

> Support CUBRID database in Jackrabbit 2
> ---
>
> Key: JCR-4926
> URL: https://issues.apache.org/jira/browse/JCR-4926
> Project: Jackrabbit Content Repository
>  Issue Type: Improvement
>  Components: clustering, jackrabbit-core, jackrabbit-data
>Reporter: Woonsan Ko
>Assignee: Woonsan Ko
>Priority: Major
> Fix For: 2.22, 2.21.17
>
>
> In the region where I work, I see CUBRID database [1][2] being adopted, 
> especially in the public sector. It seems like CUBRID is regarded as one of 
> the OSS DBMS alternatives (with PostgreSQL and MariaDB) here.
> So I'd like to support the database in Jackrabbit 2 first and then maintain 
> and port it to OAK later. (OSGi is not quite popular yet here.)
> Even if Cubrid is not as popular as other OSS projects, it might be helpful 
> to support here.
> [1] https://en.wikipedia.org/wiki/CUBRID
> [2] https://www.cubrid.org/downloads



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (JCR-4926) Support CUBRID database in Jackrabbit 2

2023-06-26 Thread Woonsan Ko (Jira)


 [ 
https://issues.apache.org/jira/browse/JCR-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Woonsan Ko reassigned JCR-4926:
---

Assignee: Woonsan Ko  (was: Julian Reschke)

> Support CUBRID database in Jackrabbit 2
> ---
>
> Key: JCR-4926
> URL: https://issues.apache.org/jira/browse/JCR-4926
> Project: Jackrabbit Content Repository
>  Issue Type: Improvement
>  Components: clustering, jackrabbit-core, jackrabbit-data
>Reporter: Woonsan Ko
>Assignee: Woonsan Ko
>Priority: Major
> Fix For: 2.22, 2.21.17
>
>
> In the region where I work, I see CUBRID database [1][2] being adopted, 
> especially in the public sector. It seems like CUBRID is regarded as one of 
> the OSS DBMS alternatives (with PostgreSQL and MariaDB) here.
> So I'd like to support the database in Jackrabbit 2 first and then maintain 
> and port it to OAK later. (OSGi is not quite popular yet here.)
> Even if Cubrid is not as popular as other OSS projects, it might be helpful 
> to support here.
> [1] https://en.wikipedia.org/wiki/CUBRID
> [2] https://www.cubrid.org/downloads



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [jackrabbit-oak] rishabhdaim merged pull request #960: OAK-10093 : provided support for SSE Customer Keys for AWS

2023-06-26 Thread via GitHub


rishabhdaim merged PR #960:
URL: https://github.com/apache/jackrabbit-oak/pull/960


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [jackrabbit-oak] mreutegg merged pull request #996: OAK-10313: Counter for DocumentStore check

2023-06-26 Thread via GitHub


mreutegg merged PR #996:
URL: https://github.com/apache/jackrabbit-oak/pull/996


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [jackrabbit-oak] kwin commented on a diff in pull request #1005: OAK-10328 fix scope of "jackrabbit-jcr-tests"

2023-06-26 Thread via GitHub


kwin commented on code in PR #1005:
URL: https://github.com/apache/jackrabbit-oak/pull/1005#discussion_r1242128102


##
oak-jcr/pom.xml:
##
@@ -423,6 +423,7 @@
   org.apache.jackrabbit
   jackrabbit-jcr-tests
   ${jackrabbit.version}
+  test
   true

Review Comment:
   Although not considered right now, I think the optional flag kind of 
indicates, that this is not supposed to be part of the Maven test compile 
classpath (but only necessary for executing some tests). Maven however does not 
support this kind of granularity (at least yet), but leaving the optional in 
does not do any harm, because there is some semantics behind that (not 
evaluated by Maven apart from having an impact as transitive dependency). I am 
fine with both leaving or removing, up to you to decide...



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [jackrabbit-oak] mreutegg commented on a diff in pull request #1005: OAK-10328 fix scope of "jackrabbit-jcr-tests"

2023-06-26 Thread via GitHub


mreutegg commented on code in PR #1005:
URL: https://github.com/apache/jackrabbit-oak/pull/1005#discussion_r1242090659


##
oak-jcr/pom.xml:
##
@@ -423,6 +423,7 @@
   org.apache.jackrabbit
   jackrabbit-jcr-tests
   ${jackrabbit.version}
+  test
   true

Review Comment:
   And at the same time remove optional flag?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [jackrabbit-oak] stefan-egli commented on a diff in pull request #995: OAK-10313: Identify revisions created by late-write scenario

2023-06-26 Thread via GitHub


stefan-egli commented on code in PR #995:
URL: https://github.com/apache/jackrabbit-oak/pull/995#discussion_r1242081728


##
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/WriteAfterRecoveryTest.java:
##
@@ -0,0 +1,661 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.plugins.document;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
+import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.commons.PathUtils;
+import 
org.apache.jackrabbit.oak.plugins.document.FailingDocumentStore.FailedUpdateOpListener;
+import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.stats.Clock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static 
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo.DEFAULT_LEASE_DURATION_MILLIS;
+import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
+import static 
org.apache.jackrabbit.oak.plugins.document.NodeDocument.isDeletedEntry;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.childBuilder;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.disposeQuietly;
+import static 
org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation.Type.SET_MAP_ENTRY;
+import static 
org.apache.jackrabbit.oak.plugins.document.util.Utils.getIdFromPath;
+import static 
org.apache.jackrabbit.oak.plugins.memory.StringPropertyState.stringProperty;
+import static org.apache.jackrabbit.oak.spi.state.NodeStateUtils.getNode;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ * Tests that write after with a clusterId after the leased timed out and
+ * recovery was performed.
+ */
+public class WriteAfterRecoveryTest {
+
+@Rule
+public DocumentMKBuilderProvider builderProvider = new 
DocumentMKBuilderProvider();
+
+private final FailingDocumentStore store = new FailingDocumentStore(new 
MemoryDocumentStore());
+
+private final Clock clock = new Clock.Virtual();
+
+private DocumentNodeStore ns1;
+
+@Before
+public void setUp() throws Exception {
+clock.waitUntil(System.currentTimeMillis());
+Revision.setClock(clock);
+ClusterNodeInfo.setClock(clock);
+ns1 = createNodeStore(1);
+}
+
+@After
+public void cleanUp() {
+ClusterNodeInfo.resetClockToDefault();
+Revision.resetClockToDefault();
+}
+
+@Test
+public void oneNodeAdded() throws Exception {
+merge(ns1, createChild("/a"), true);
+
+List failed = new ArrayList<>();
+store.addListener(filter(failed, ADD_NODE_OPS));
+store.fail().after(0).eternally();
+try {
+merge(ns1, createChild("/a/b"), false);
+fail("merge must fail");
+} catch (CommitFailedException e) {
+// expected
+}
+disposeQuietly(ns1);
+store.fail().never();
+
+// wait until lease expires
+clockWait(DEFAULT_LEASE_DURATION_MILLIS);
+
+DocumentNodeStore ns2 = createNodeStore(2);
+assertTrue(ns2.getLastRevRecoveryAgent().isRecoveryNeeded());
+assertEquals(0, ns2.getLastRevRecoveryAgent().recover(1));
+
+// 'late write'
+store.createOrUpdate(NODES, failed);
+Set lateWriteRevisions = getRevisions(failed);
+
+// revive clusterId 1
+ns1 = createNodeStore(1);
+merge(ns1, createChild("/d"), true);
+
+ns2.runBackgroundOperations();
+

[GitHub] [jackrabbit-oak] kwin opened a new pull request, #1005: OAK-10328 fix scope of "jackrabbit-jcr-tests"

2023-06-26 Thread via GitHub


kwin opened a new pull request, #1005:
URL: https://github.com/apache/jackrabbit-oak/pull/1005

   (no comment)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [jackrabbit-oak] kwin commented on pull request #1004: OAK-10327 Embedded dependencies should have "provided" scope

2023-06-26 Thread via GitHub


kwin commented on PR #1004:
URL: https://github.com/apache/jackrabbit-oak/pull/1004#issuecomment-1607186287

   Is the test failure related to this change really?
   
   ```
   Error:  Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
2.781 s <<< FAILURE! - in 
org.apache.jackrabbit.oak.segment.spi.persistence.split.SplitPersistenceTest
   Error:  
testBinaryReferencesAreNotNull(org.apache.jackrabbit.oak.segment.spi.persistence.split.SplitPersistenceTest)
  Time elapsed: 0.103 s  <<< ERROR!
   org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException: 
Using oak-segment-tar, but oak-segment should be used
   ...
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



adaptTo() 2023: Agenda online

2023-06-26 Thread Stefan Seifert
Dear adaptTo() Community,

Exciting news! The agenda for adaptTo() 2023, Europe's leading AEM Developer 
Conference, has been announced!
https://adapt.to/2023/schedule

Tickets are still available:
https://adapt.to/tickets

Your adaptTo() Conference Team


adaptTo() 2023: Agenda online

2023-06-26 Thread Stefan Seifert
Dear adaptTo() Community,

Exciting news! The agenda for adaptTo() 2023, Europe's leading AEM Developer 
Conference, has been announced!
https://adapt.to/2023/schedule

Tickets are still available:
https://adapt.to/tickets

Your adaptTo() Conference Team


[GitHub] [jackrabbit-oak] mreutegg commented on a diff in pull request #995: OAK-10313: Identify revisions created by late-write scenario

2023-06-26 Thread via GitHub


mreutegg commented on code in PR #995:
URL: https://github.com/apache/jackrabbit-oak/pull/995#discussion_r1241885428


##
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/WriteAfterRecoveryTest.java:
##
@@ -0,0 +1,661 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.plugins.document;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
+import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.commons.PathUtils;
+import 
org.apache.jackrabbit.oak.plugins.document.FailingDocumentStore.FailedUpdateOpListener;
+import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.stats.Clock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static 
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo.DEFAULT_LEASE_DURATION_MILLIS;
+import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
+import static 
org.apache.jackrabbit.oak.plugins.document.NodeDocument.isDeletedEntry;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.childBuilder;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.disposeQuietly;
+import static 
org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation.Type.SET_MAP_ENTRY;
+import static 
org.apache.jackrabbit.oak.plugins.document.util.Utils.getIdFromPath;
+import static 
org.apache.jackrabbit.oak.plugins.memory.StringPropertyState.stringProperty;
+import static org.apache.jackrabbit.oak.spi.state.NodeStateUtils.getNode;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ * Tests that write after with a clusterId after the leased timed out and
+ * recovery was performed.
+ */
+public class WriteAfterRecoveryTest {
+
+@Rule
+public DocumentMKBuilderProvider builderProvider = new 
DocumentMKBuilderProvider();
+
+private final FailingDocumentStore store = new FailingDocumentStore(new 
MemoryDocumentStore());
+
+private final Clock clock = new Clock.Virtual();
+
+private DocumentNodeStore ns1;
+
+@Before
+public void setUp() throws Exception {
+clock.waitUntil(System.currentTimeMillis());
+Revision.setClock(clock);
+ClusterNodeInfo.setClock(clock);
+ns1 = createNodeStore(1);
+}
+
+@After
+public void cleanUp() {
+ClusterNodeInfo.resetClockToDefault();
+Revision.resetClockToDefault();
+}
+
+@Test
+public void oneNodeAdded() throws Exception {
+merge(ns1, createChild("/a"), true);
+
+List failed = new ArrayList<>();
+store.addListener(filter(failed, ADD_NODE_OPS));
+store.fail().after(0).eternally();
+try {
+merge(ns1, createChild("/a/b"), false);
+fail("merge must fail");
+} catch (CommitFailedException e) {
+// expected
+}
+disposeQuietly(ns1);
+store.fail().never();
+
+// wait until lease expires
+clockWait(DEFAULT_LEASE_DURATION_MILLIS);
+
+DocumentNodeStore ns2 = createNodeStore(2);
+assertTrue(ns2.getLastRevRecoveryAgent().isRecoveryNeeded());
+assertEquals(0, ns2.getLastRevRecoveryAgent().recover(1));
+
+// 'late write'
+store.createOrUpdate(NODES, failed);
+Set lateWriteRevisions = getRevisions(failed);
+
+// revive clusterId 1
+ns1 = createNodeStore(1);
+merge(ns1, createChild("/d"), true);
+
+ns2.runBackgroundOperations();
+

[GitHub] [jackrabbit-oak] mreutegg commented on a diff in pull request #995: OAK-10313: Identify revisions created by late-write scenario

2023-06-26 Thread via GitHub


mreutegg commented on code in PR #995:
URL: https://github.com/apache/jackrabbit-oak/pull/995#discussion_r1241883241


##
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/WriteAfterRecoveryTest.java:
##
@@ -0,0 +1,661 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.plugins.document;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
+import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.commons.PathUtils;
+import 
org.apache.jackrabbit.oak.plugins.document.FailingDocumentStore.FailedUpdateOpListener;
+import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
+import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.stats.Clock;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import static 
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo.DEFAULT_LEASE_DURATION_MILLIS;
+import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
+import static 
org.apache.jackrabbit.oak.plugins.document.NodeDocument.isDeletedEntry;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.childBuilder;
+import static 
org.apache.jackrabbit.oak.plugins.document.TestUtils.disposeQuietly;
+import static 
org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation.Type.SET_MAP_ENTRY;
+import static 
org.apache.jackrabbit.oak.plugins.document.util.Utils.getIdFromPath;
+import static 
org.apache.jackrabbit.oak.plugins.memory.StringPropertyState.stringProperty;
+import static org.apache.jackrabbit.oak.spi.state.NodeStateUtils.getNode;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ * Tests that write after with a clusterId after the leased timed out and
+ * recovery was performed.
+ */
+public class WriteAfterRecoveryTest {
+
+@Rule
+public DocumentMKBuilderProvider builderProvider = new 
DocumentMKBuilderProvider();
+
+private final FailingDocumentStore store = new FailingDocumentStore(new 
MemoryDocumentStore());
+
+private final Clock clock = new Clock.Virtual();
+
+private DocumentNodeStore ns1;
+
+@Before
+public void setUp() throws Exception {
+clock.waitUntil(System.currentTimeMillis());
+Revision.setClock(clock);
+ClusterNodeInfo.setClock(clock);
+ns1 = createNodeStore(1);
+}
+
+@After
+public void cleanUp() {
+ClusterNodeInfo.resetClockToDefault();
+Revision.resetClockToDefault();
+}
+
+@Test
+public void oneNodeAdded() throws Exception {
+merge(ns1, createChild("/a"), true);
+
+List failed = new ArrayList<>();
+store.addListener(filter(failed, ADD_NODE_OPS));
+store.fail().after(0).eternally();
+try {
+merge(ns1, createChild("/a/b"), false);
+fail("merge must fail");
+} catch (CommitFailedException e) {
+// expected
+}
+disposeQuietly(ns1);
+store.fail().never();
+
+// wait until lease expires
+clockWait(DEFAULT_LEASE_DURATION_MILLIS);
+
+DocumentNodeStore ns2 = createNodeStore(2);
+assertTrue(ns2.getLastRevRecoveryAgent().isRecoveryNeeded());
+assertEquals(0, ns2.getLastRevRecoveryAgent().recover(1));
+
+// 'late write'
+store.createOrUpdate(NODES, failed);
+Set lateWriteRevisions = getRevisions(failed);
+
+// revive clusterId 1
+ns1 = createNodeStore(1);
+merge(ns1, createChild("/d"), true);
+
+ns2.runBackgroundOperations();
+

[jira] [Comment Edited] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737029#comment-17737029
 ] 

Manfred Baedke edited comment on JCR-4627 at 6/26/23 7:50 AM:
--

I tried 
[exam-4.13.2.diff|https://issues.apache.org/jira/secure/attachment/13041676/exam-4.13.2.diff]
 and had no issues with hanging tests. It indeed solved the http/https problem.


was (Author: baedke):
I tried [^exam-4.13.2.diff] and had no issues with hanging tests. It indeed 
solved the http/https problem.

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737029#comment-17737029
 ] 

Manfred Baedke edited comment on JCR-4627 at 6/26/23 7:48 AM:
--

I tried [^exam-4.13.2.diff] and had no issues with hanging tests. It indeed 
solved the http/https problem.


was (Author: baedke):
I tried 
[exam-4.13.2.diff|https://issues.apache.org/jira/secure/attachment/13041676/exam-4.13.2.diff]
 and had no issues with hanging tests.

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737029#comment-17737029
 ] 

Manfred Baedke edited comment on JCR-4627 at 6/26/23 7:47 AM:
--

I tried 
[exam-4.13.2.diff|https://issues.apache.org/jira/secure/attachment/13041676/exam-4.13.2.diff]
 and had no issues with hanging tests.


was (Author: baedke):
I tried the [^exam-4.13.2.diff] and had no issues with hanging tests.

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737029#comment-17737029
 ] 

Manfred Baedke edited comment on JCR-4627 at 6/26/23 7:46 AM:
--

I tried the [^exam-4.13.2.diff] and had no issues with hanging tests.


was (Author: baedke):
I tried the [^exam-4.13.2.diff] and had no issues with hanging tests.

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737029#comment-17737029
 ] 

Manfred Baedke commented on JCR-4627:
-

I tried the [^exam-4.13.2.diff] and had no issues with hanging tests.

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (JCR-4627) jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central

2023-06-26 Thread Manfred Baedke (Jira)


 [ 
https://issues.apache.org/jira/browse/JCR-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Manfred Baedke reassigned JCR-4627:
---

Assignee: Manfred Baedke  (was: Julian Reschke)

> jackrabbit-it-osgi: pax-exam fails to load artefacts from maven central
> ---
>
> Key: JCR-4627
> URL: https://issues.apache.org/jira/browse/JCR-4627
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>  Components: jackrabbit-it-osgi
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Minor
>
> As seen in:
> [ERROR] org.apache.jackrabbit.oak.osgi.OSGiIT  Time elapsed: 6.219 s  <<< 
> ERROR!
> org.ops4j.pax.exam.TestContainerException: 
> [link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link] could not be 
> downloaded
> Caused by: java.io.IOException: Error resolving artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0: Could not transfer artifact 
> org.ops4j.pax.exam:pax-exam-inject:jar:3.4.0 from/to central 
> (http://repo1.maven.org/maven2/): Error transferring file: Server returned 
> HTTP response code: 501 for URL: 
> http://repo1.maven.org/maven2/org/ops4j/pax/exam/pax-exam-inject/3.4.0/pax-exam-inject-3.4.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (JCR-4773) upgrade pax-exam test dependency

2023-06-26 Thread Manfred Baedke (Jira)


 [ 
https://issues.apache.org/jira/browse/JCR-4773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Manfred Baedke reassigned JCR-4773:
---

Assignee: Manfred Baedke  (was: Julian Reschke)

> upgrade pax-exam test dependency
> 
>
> Key: JCR-4773
> URL: https://issues.apache.org/jira/browse/JCR-4773
> Project: Jackrabbit Content Repository
>  Issue Type: Task
>  Components: test
>Reporter: Julian Reschke
>Assignee: Manfred Baedke
>Priority: Major
> Fix For: 2.22
>
> Attachments: exam-4.13.2.diff, patch-for-185.diff
>
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCR-4926) Support CUBRID database in Jackrabbit 2

2023-06-26 Thread Julian Reschke (Jira)


[ 
https://issues.apache.org/jira/browse/JCR-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17737017#comment-17737017
 ] 

Julian Reschke commented on JCR-4926:
-

Sounds good to me.

> Support CUBRID database in Jackrabbit 2
> ---
>
> Key: JCR-4926
> URL: https://issues.apache.org/jira/browse/JCR-4926
> Project: Jackrabbit Content Repository
>  Issue Type: Improvement
>  Components: clustering, jackrabbit-core, jackrabbit-data
>Reporter: Woonsan Ko
>Assignee: Julian Reschke
>Priority: Major
> Fix For: 2.22, 2.21.17
>
>
> In the region where I work, I see CUBRID database [1][2] being adopted, 
> especially in the public sector. It seems like CUBRID is regarded as one of 
> the OSS DBMS alternatives (with PostgreSQL and MariaDB) here.
> So I'd like to support the database in Jackrabbit 2 first and then maintain 
> and port it to OAK later. (OSGi is not quite popular yet here.)
> Even if Cubrid is not as popular as other OSS projects, it might be helpful 
> to support here.
> [1] https://en.wikipedia.org/wiki/CUBRID
> [2] https://www.cubrid.org/downloads



--
This message was sent by Atlassian Jira
(v8.20.10#820010)