svn commit: r1827340 - /jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 17:28:43 2018
New Revision: 1827340

URL: http://svn.apache.org/viewvc?rev=1827340=rev
Log:
OAK-6922: Azure support for the segment-tar

- the metadata names can’t contain dashes

Modified:

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java

Modified: 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java?rev=1827340=1827339=1827340=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java
 Tue Mar 20 17:28:43 2018
@@ -24,15 +24,15 @@ public final class AzureBlobMetadata {
 
 private static final String METADATA_TYPE = "type";
 
-private static final String METADATA_SEGMENT_UUID = "segment-uuid";
+private static final String METADATA_SEGMENT_UUID = "uuid";
 
-private static final String METADATA_SEGMENT_POSITION = "segment-position";
+private static final String METADATA_SEGMENT_POSITION = "position";
 
-private static final String METADATA_SEGMENT_GENERATION = 
"segment-generation";
+private static final String METADATA_SEGMENT_GENERATION = "generation";
 
-private static final String METADATA_SEGMENT_FULL_GENERATION = 
"segment-fullGeneration";
+private static final String METADATA_SEGMENT_FULL_GENERATION = 
"fullGeneration";
 
-private static final String METADATA_SEGMENT_COMPACTED = 
"segment-compacted";
+private static final String METADATA_SEGMENT_COMPACTED = "compacted";
 
 private static final String TYPE_SEGMENT = "segment";
 




svn commit: r1827319 - in /jackrabbit/oak/branches/1.0: ./ oak-auth-external/ oak-auth-ldap/ oak-blob/ oak-commons/ oak-core/ oak-http/ oak-it/ oak-it/mk/ oak-it/osgi/ oak-jcr/ oak-lucene/ oak-mk-api/

2018-03-20 Thread baedke
Author: baedke
Date: Tue Mar 20 14:48:03 2018
New Revision: 1827319

URL: http://svn.apache.org/viewvc?rev=1827319=rev
Log:
[maven-release-plugin] prepare for next development iteration

Modified:
jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml
jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml
jackrabbit/oak/branches/1.0/oak-blob/pom.xml
jackrabbit/oak/branches/1.0/oak-commons/pom.xml
jackrabbit/oak/branches/1.0/oak-core/pom.xml
jackrabbit/oak/branches/1.0/oak-http/pom.xml
jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml
jackrabbit/oak/branches/1.0/oak-it/osgi/pom.xml
jackrabbit/oak/branches/1.0/oak-it/pom.xml
jackrabbit/oak/branches/1.0/oak-jcr/pom.xml
jackrabbit/oak/branches/1.0/oak-lucene/pom.xml
jackrabbit/oak/branches/1.0/oak-mk-api/pom.xml
jackrabbit/oak/branches/1.0/oak-mk-remote/pom.xml
jackrabbit/oak/branches/1.0/oak-mk/pom.xml
jackrabbit/oak/branches/1.0/oak-parent/pom.xml
jackrabbit/oak/branches/1.0/oak-pojosr/pom.xml
jackrabbit/oak/branches/1.0/oak-run/pom.xml
jackrabbit/oak/branches/1.0/oak-solr-core/pom.xml
jackrabbit/oak/branches/1.0/oak-solr-osgi/pom.xml
jackrabbit/oak/branches/1.0/oak-tarmk-standby/pom.xml
jackrabbit/oak/branches/1.0/oak-upgrade/pom.xml
jackrabbit/oak/branches/1.0/pom.xml

Modified: jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml Tue Mar 20 14:48:03 
2018
@@ -23,7 +23,7 @@
 
 org.apache.jackrabbit
 oak-parent
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
 
 

Modified: jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml Tue Mar 20 14:48:03 2018
@@ -23,7 +23,7 @@
 
 org.apache.jackrabbit
 oak-parent
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
 
 

Modified: jackrabbit/oak/branches/1.0/oak-blob/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-blob/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-blob/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-blob/pom.xml Tue Mar 20 14:48:03 2018
@@ -21,7 +21,7 @@
   
 oak-parent
 org.apache.jackrabbit
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
   
   4.0.0

Modified: jackrabbit/oak/branches/1.0/oak-commons/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-commons/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-commons/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-commons/pom.xml Tue Mar 20 14:48:03 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-core/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-core/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-core/pom.xml Tue Mar 20 14:48:03 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-http/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-http/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-http/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-http/pom.xml Tue Mar 20 14:48:03 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42
+1.0.43-SNAPSHOT
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml?rev=1827319=1827318=1827319=diff
==
--- jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml Tue Mar 20 14:48:03 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42
+

svn commit: r1827318 - /jackrabbit/oak/tags/jackrabbit-oak-1.0.42/

2018-03-20 Thread baedke
Author: baedke
Date: Tue Mar 20 14:47:54 2018
New Revision: 1827318

URL: http://svn.apache.org/viewvc?rev=1827318=rev
Log:
[maven-release-plugin] copy for tag jackrabbit-oak-1.0.42

Added:
jackrabbit/oak/tags/jackrabbit-oak-1.0.42/   (props changed)
  - copied from r1827317, jackrabbit/oak/branches/1.0/

Propchange: jackrabbit/oak/tags/jackrabbit-oak-1.0.42/
--
--- svn:ignore (added)
+++ svn:ignore Tue Mar 20 14:47:54 2018
@@ -0,0 +1,5 @@
+target
+.*
+*.iml
+*.ipr
+*.iws

Propchange: jackrabbit/oak/tags/jackrabbit-oak-1.0.42/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Mar 20 14:47:54 2018
@@ -0,0 +1,4 @@
+/jackrabbit/oak/branches/1.2:1695500,1700753,1709440,1714095,1725270,1742959,1743356,1745019,1745589,1749700,1750645,1751766,1751768,1782746,1797166,1805405-1805406,1805409,1806930,1819473,1820108
+/jackrabbit/oak/branches/1.4:1745750,1747354,1750078,1750512,1805392,1805400,1805402
+/jackrabbit/oak/trunk:1584578,1584602,1584614,1584616,1584709,1584781,1584937,1585297,1585304-1585305,1585420,1585424,1585427,1585448,1585465,1585468,1585486,1585497,1585509,1585647,1585655-1585656,1585661,1585665-1585666,1585669-1585670,1585673,1585680,1585719,1585763,1585770,1585896,1585904,1585907,1585940,1585949,1585951,1585956,1585962-1585963,1586287,1586320,1586364,1586372,1586655,1586836,1587130,1587224,1587399,1587408,1587472,1587485,1587488,1587538,1587580,1587807,1588033,1588042,1588046,1588066,1588201,1589025,1589101,1589137,1589141,1589263,1589440,1589442,1589484,1589488,1589661,1589664,1589682,1589708,1589741,1589748,1589789,1589794,1589850,1589864,1590628,1590660,1590684,1590697,1590701,1590980,1590988,1591101,1591226,1591229,1591293,1591314,1591317,1591362,1591374,1591381,1591438,1591467,1591552,1591704,1591713,1591715,1591723,1591874,1592487,1592512,1592658,1592665,1592677,1592742,1592744,1592787,1592809,1592955,1593036,1593048,1593061,1593133,1593210-1593211,1593231
 
,1593245,1593250,1593294,1593304,1593317,1593342,1593554,1594158-1594164,1594166-1594167,1594169,1594237,1594800,1594808,1594835,1594888,1594987,1595147,1595186,1595457,1595856,1596241,1596474,1596534,1596844,1596889,1597569,1597795,1597854,1597860,1598292,1598302,1598352,1598369,1598595,1598631,1598696,1598732,1598797-1598798,1599160,1599299,1599332,1599416,1599434,1599671,1600088,1600935,1601309,1601388,1601578,1601649,1601676,1601757,1601768,1601814,1601833,1601838,1601853,1601878,1601888,1601922,1602156,1602170,1602174,1602179,1602183,1602201,1602207,1602227,1602256,1602261,1602342,1602796-1602797,1602800,1602809,1602853,1602872,1602914,1603155,1603307,1603401,1603441,1603748,1604166,1605030,1605036,1605038,1605292,1605447,1605526,1605670,1605725,1605831,1605852,1606077,1606079,1606087,1606638,1606641,1606644,1606708,1606711,1607031-1607032,1607077,1607127,1607141,1607152,1607185,1607196,1607331,1607362,1607366,1607392,1607526,1607557,1607664,1607737,1608463,1608560,1608731,1608
 
783,1609064,1609081,1609165,1609214,1609488,1610489,1610592,1610603,1610634,1610658,1610664,1611021,1611041,1611270,1611275,1611277,1611313,1611332,1611584,1612560,1612825,1612848,1612892,1612899,1612993,1613018,1613041,1614032,1614265,1614272,1614344-1614345,1614384-1614385,1614397,1614405-1614406,1614574,1614591,1614593,1614596,1614604,1614689,1614807,1614835,1614891,1615417-1615418,1616182,1616236,1616463,1616719,1617417,1617451,1617463,1617711,1618158,1618613,1618624,1618709,1619222,1619411,1619695,1619800,1619808,1619815,1619823-1619824,1620512,1620581,1620585,1620634,1620898,1620905,1621115,1621123-1621124,1621168,1621192,1621201,1621706,1621962,1622197,1622201,1622207,1622250,1622479,1623364,1623766,1623827,1623949,1623969,1623973,1624216,1624317,1624551,1624559,1624973,1624993-1624994,1625025,1625036,1625158,1625224,1625237,1625299,1625348,1625620,1625916,1625962-1625963,1626021,1626053,1626163,1626168,1626175,1626191,1626265,1626770,1627047,1627052,1627228,1627346,1627470,1
 

svn commit: r1827317 - in /jackrabbit/oak/branches/1.0: ./ oak-auth-external/ oak-auth-ldap/ oak-blob/ oak-commons/ oak-core/ oak-http/ oak-it/ oak-it/mk/ oak-it/osgi/ oak-jcr/ oak-lucene/ oak-mk-api/

2018-03-20 Thread baedke
Author: baedke
Date: Tue Mar 20 14:47:48 2018
New Revision: 1827317

URL: http://svn.apache.org/viewvc?rev=1827317=rev
Log:
[maven-release-plugin] prepare release jackrabbit-oak-1.0.42

Modified:
jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml
jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml
jackrabbit/oak/branches/1.0/oak-blob/pom.xml
jackrabbit/oak/branches/1.0/oak-commons/pom.xml
jackrabbit/oak/branches/1.0/oak-core/pom.xml
jackrabbit/oak/branches/1.0/oak-http/pom.xml
jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml
jackrabbit/oak/branches/1.0/oak-it/osgi/pom.xml
jackrabbit/oak/branches/1.0/oak-it/pom.xml
jackrabbit/oak/branches/1.0/oak-jcr/pom.xml
jackrabbit/oak/branches/1.0/oak-lucene/pom.xml
jackrabbit/oak/branches/1.0/oak-mk-api/pom.xml
jackrabbit/oak/branches/1.0/oak-mk-remote/pom.xml
jackrabbit/oak/branches/1.0/oak-mk/pom.xml
jackrabbit/oak/branches/1.0/oak-parent/pom.xml
jackrabbit/oak/branches/1.0/oak-pojosr/pom.xml
jackrabbit/oak/branches/1.0/oak-run/pom.xml
jackrabbit/oak/branches/1.0/oak-solr-core/pom.xml
jackrabbit/oak/branches/1.0/oak-solr-osgi/pom.xml
jackrabbit/oak/branches/1.0/oak-tarmk-standby/pom.xml
jackrabbit/oak/branches/1.0/oak-upgrade/pom.xml
jackrabbit/oak/branches/1.0/pom.xml

Modified: jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-auth-external/pom.xml Tue Mar 20 14:47:48 
2018
@@ -23,7 +23,7 @@
 
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
 
 

Modified: jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-auth-ldap/pom.xml Tue Mar 20 14:47:48 2018
@@ -23,7 +23,7 @@
 
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
 
 

Modified: jackrabbit/oak/branches/1.0/oak-blob/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-blob/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-blob/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-blob/pom.xml Tue Mar 20 14:47:48 2018
@@ -21,7 +21,7 @@
   
 oak-parent
 org.apache.jackrabbit
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
   
   4.0.0

Modified: jackrabbit/oak/branches/1.0/oak-commons/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-commons/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-commons/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-commons/pom.xml Tue Mar 20 14:47:48 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-core/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-core/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-core/pom.xml Tue Mar 20 14:47:48 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-http/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-http/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-http/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-http/pom.xml Tue Mar 20 14:47:48 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+1.0.42
 ../oak-parent/pom.xml
   
 

Modified: jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml?rev=1827317=1827316=1827317=diff
==
--- jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml (original)
+++ jackrabbit/oak/branches/1.0/oak-it/mk/pom.xml Tue Mar 20 14:47:48 2018
@@ -23,7 +23,7 @@
   
 org.apache.jackrabbit
 oak-parent
-1.0.42-SNAPSHOT
+

svn commit: r1827308 - in /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence: GCJournalFile.java JournalFile.java JournalFileReader.java JournalFileW

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 13:30:35 2018
New Revision: 1827308

URL: http://svn.apache.org/viewvc?rev=1827308=rev
Log:
OAK-6922: Azure support for the segment-tar

- add missing license headers

Modified:

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java?rev=1827308=1827307=1827308=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java
 Tue Mar 20 13:30:35 2018
@@ -1,3 +1,21 @@
+/*
+ * 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.segment.spi.persistence;
 
 import java.io.IOException;

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java?rev=1827308=1827307=1827308=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java
 Tue Mar 20 13:30:35 2018
@@ -1,3 +1,21 @@
+/*
+ * 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.segment.spi.persistence;
 
 import java.io.IOException;

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java?rev=1827308=1827307=1827308=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java
 Tue Mar 20 13:30:35 2018
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more 

svn commit: r1827304 - /jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java

2018-03-20 Thread stillalex
Author: stillalex
Date: Tue Mar 20 12:43:05 2018
New Revision: 1827304

URL: http://svn.apache.org/viewvc?rev=1827304=rev
Log:
OAK-6956 RepositoryUpgrade hardcodes SecurityProvider


Modified:

jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1827304=1827303=1827304=diff
==
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 Tue Mar 20 12:43:05 2018
@@ -106,7 +106,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.InitialContent;
 import 
org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager;
 import org.apache.jackrabbit.oak.plugins.value.jcr.ValueFactoryImpl;
-import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.security.internal.SecurityProviderBuilder;
 import org.apache.jackrabbit.oak.spi.commit.CommitHook;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider;
@@ -118,6 +118,7 @@ import org.apache.jackrabbit.oak.spi.lif
 import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
+import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConfiguration;
 import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
@@ -414,8 +415,8 @@ public class RepositoryUpgrade {
 
 String workspaceName =
 source.getRepositoryConfig().getDefaultWorkspaceName();
-SecurityProviderImpl security = new SecurityProviderImpl(
-mapSecurityConfig(config.getSecurityConfig()));
+SecurityProvider security = SecurityProviderBuilder.newBuilder()
+
.with(mapSecurityConfig(config.getSecurityConfig())).build();
 
 if (skipInitialization) {
 logger.info("Skipping the repository initialization");




svn commit: r1827298 - /jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 12:03:05 2018
New Revision: 1827298

URL: http://svn.apache.org/viewvc?rev=1827298=rev
Log:
OAK-6922: Azure support for the segment-tar

- don’t import the IndexEntry in oak-segment-azure.

Modified:

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java

Modified: 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java?rev=1827298=1827297=1827298=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java
 Tue Mar 20 12:03:05 2018
@@ -16,9 +16,9 @@
  */
 package org.apache.jackrabbit.oak.segment.azure;
 
-import org.apache.jackrabbit.oak.segment.file.tar.index.IndexEntry;
+import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveEntry;
 
-public class AzureSegmentArchiveEntry implements IndexEntry {
+public class AzureSegmentArchiveEntry implements SegmentArchiveEntry {
 
 private final long msb;
 
@@ -54,7 +54,6 @@ public class AzureSegmentArchiveEntry im
 return lsb;
 }
 
-@Override
 public int getPosition() {
 return position;
 }




svn commit: r1827296 - in /jackrabbit/oak/trunk: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ oak-core/src/main/java/org/apache/jackra

2018-03-20 Thread stillalex
Author: stillalex
Date: Tue Mar 20 11:31:56 2018
New Revision: 1827296

URL: http://svn.apache.org/viewvc?rev=1827296=rev
Log:
OAK-7024 java.security.acl deprecated in Java 10, marked for removal in Java 11
 - reintroduced Group implementation for backwards compatibility reasons


Modified:

jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java

jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java?rev=1827296=1827295=1827296=diff
==
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProvider.java
 Tue Mar 20 11:31:56 2018
@@ -272,7 +272,7 @@ class ExternalGroupPrincipalProvider imp
  * identities that are not represented as authorizable 
group
  * in the repository's user management.
  */
-private final class ExternalGroupPrincipal extends PrincipalImpl 
implements GroupPrincipal {
+private final class ExternalGroupPrincipal extends PrincipalImpl 
implements GroupPrincipal, java.security.acl.Group {
 
 private ExternalGroupPrincipal(String principalName) {
 super(principalName);
@@ -280,6 +280,24 @@ class ExternalGroupPrincipalProvider imp
 }
 
 @Override
+public boolean addMember(Principal user) {
+if (isMember(user)) {
+return false;
+} else {
+throw new UnsupportedOperationException("Adding members to 
external group principals is not supported.");
+}
+}
+
+@Override
+public boolean removeMember(Principal user) {
+if (!isMember(user)) {
+return false;
+} else {
+throw new UnsupportedOperationException("Removing members from 
external group principals is not supported.");
+}
+}
+
+@Override
 public boolean isMember(Principal member) {
 if (GroupPrincipals.isGroup(member)) {
 return false;

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java?rev=1827296=1827295=1827296=diff
==
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipal.java
 Tue Mar 20 11:31:56 2018
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Base class for {@code Group} principals.
  */
-abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements 
GroupPrincipal {
+abstract class AbstractGroupPrincipal extends TreeBasedPrincipal implements 
GroupPrincipal, java.security.acl.Group {
 
 private static final Logger log = 
LoggerFactory.getLogger(AbstractGroupPrincipal.class);
 
@@ -112,4 +112,13 @@ abstract class AbstractGroupPrincipal ex
 return Iterators.asEnumeration(Iterators.filter(principals, 
Predicates.notNull()));
 }
 
+@Override
+public boolean addMember(Principal principal) {
+throw new UnsupportedOperationException();
+}
+
+@Override
+public boolean removeMember(Principal principal) {
+throw new UnsupportedOperationException();
+}
 }




svn commit: r1827293 - in /jackrabbit/oak/trunk: oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/ oak-it/ oak-it/src/test/

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 10:54:26 2018
New Revision: 1827293

URL: http://svn.apache.org/viewvc?rev=1827293=rev
Log:
OAK-7297: New fixture for the Azure Segment Store

Modified:

jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java

jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
jackrabbit/oak/trunk/oak-it/pom.xml

jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/NodeStoreFixtures.java

jackrabbit/oak/trunk/oak-it/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java
jackrabbit/oak/trunk/oak-jcr/pom.xml
jackrabbit/oak/trunk/oak-parent/pom.xml
jackrabbit/oak/trunk/oak-run-commons/pom.xml

jackrabbit/oak/trunk/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java

jackrabbit/oak/trunk/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java

jackrabbit/oak/trunk/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/SegmentTarFixture.java

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1827293=1827292=1827293=diff
==
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 Tue Mar 20 10:54:26 2018
@@ -83,6 +83,14 @@ public class BenchmarkRunner {
 .withOptionalArg().defaultsTo("");
 OptionSpec rdbjdbctableprefix = 
parser.accepts("rdbjdbctableprefix", "RDB JDBC table prefix")
 .withOptionalArg().defaultsTo("");
+
+OptionSpec azureConnectionString = parser.accepts("azure", 
"Azure Connection String")
+
.withOptionalArg().defaultsTo("DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:1/devstoreaccount1;;);
+OptionSpec azureContainerName = 
parser.accepts("azureContainerName", "Azure container name")
+.withOptionalArg().defaultsTo("oak");
+OptionSpec azureRootPath = parser.accepts("azureRootPath", 
"Azure root path")
+.withOptionalArg().defaultsTo("/oak");
+
 OptionSpec mmap = parser.accepts("mmap", "TarMK memory 
mapping")
 .withOptionalArg().ofType(Boolean.class)
 
.defaultsTo("64".equals(System.getProperty("sun.arch.data.model")));
@@ -230,6 +238,11 @@ public class BenchmarkRunner {
 mmap.value(options), coldUseDataStore.value(options), 
fdsCache.value(options), 
 coldSyncInterval.value(options), 
coldShareDataStore.value(options), coldSecure.value(options), 
 coldOneShotRun.value(options)),
+
OakRepositoryFixture.getSegmentTarWithAzureSegmentStore(base.value(options),
+azureConnectionString.value(options),
+azureContainerName.value(options),
+azureRootPath.value(options),
+256, cacheSize, true, fdsCache.value(options)),
 OakRepositoryFixture.getRDB(rdbjdbcuri.value(options), 
rdbjdbcuser.value(options),
 rdbjdbcpasswd.value(options), 
rdbjdbctableprefix.value(options), 
 dropDBAfterTest.value(options), cacheSize * MB, 
vgcMaxAge.value(options)),

Modified: 
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java?rev=1827293=1827292=1827293=diff
==
--- 
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java
 Tue Mar 20 10:54:26 2018
@@ -43,7 +43,7 @@ public final class FixturesHelper {
  * default fixtures when no {@code nsfixtures} is provided
  */
 public enum Fixture {
-   DOCUMENT_NS, @Deprecated SEGMENT_MK, DOCUMENT_RDB, MEMORY_NS, 
DOCUMENT_MEM, SEGMENT_TAR, COMPOSITE_SEGMENT, COMPOSITE_MEM, COW_DOCUMENT
+   DOCUMENT_NS, @Deprecated SEGMENT_MK, DOCUMENT_RDB, MEMORY_NS, 
DOCUMENT_MEM, SEGMENT_TAR, SEGMENT_AZURE, COMPOSITE_SEGMENT, COMPOSITE_MEM, 
COW_DOCUMENT
 }
 
 private static final Set FIXTURES;

Modified: 

svn commit: r1827292 [1/2] - in /jackrabbit/oak/trunk: ./ oak-segment-azure/ oak-segment-azure/src/ oak-segment-azure/src/main/ oak-segment-azure/src/main/java/ oak-segment-azure/src/main/java/org/ oa

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 10:54:09 2018
New Revision: 1827292

URL: http://svn.apache.org/viewvc?rev=1827292=rev
Log:
OAK-6922: Azure support for the segment-tar

Added:
jackrabbit/oak/trunk/oak-segment-azure/
jackrabbit/oak/trunk/oak-segment-azure/pom.xml
jackrabbit/oak/trunk/oak-segment-azure/src/
jackrabbit/oak/trunk/oak-segment-azure/src/main/
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManager.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureGCJournalFile.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureJournalFile.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureManifestFile.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureRepositoryLock.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveEntry.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveReader.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentStoreService.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureUtilities.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/Configuration.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/ReverseFileReader.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteAction.java

jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteQueue.java
jackrabbit/oak/trunk/oak-segment-azure/src/test/
jackrabbit/oak/trunk/oak-segment-azure/src/test/java/
jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/
jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/
jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManagerTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureGCJournalTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureJournalFileTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureManifestFileTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureTarFileTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureTarFilesTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureTarWriterTest.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzuriteDockerRule.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/fixture/

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/fixture/SegmentAzureFixture.java

jackrabbit/oak/trunk/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/journal/


svn commit: r1827292 [2/2] - in /jackrabbit/oak/trunk: ./ oak-segment-azure/ oak-segment-azure/src/ oak-segment-azure/src/main/ oak-segment-azure/src/main/java/ oak-segment-azure/src/main/java/org/ oa

2018-03-20 Thread tomekr
Added: 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteAction.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteAction.java?rev=1827292=auto
==
--- 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteAction.java
 (added)
+++ 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteAction.java
 Tue Mar 20 10:54:09 2018
@@ -0,0 +1,62 @@
+/*
+ * 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.segment.azure.queue;
+
+import org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveEntry;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.UUID;
+
+public class SegmentWriteAction {
+
+private final AzureSegmentArchiveEntry indexEntry;
+
+private final byte[] buffer;
+
+private final int offset;
+
+private final int length;
+
+public SegmentWriteAction(AzureSegmentArchiveEntry indexEntry, byte[] 
buffer, int offset, int length) {
+this.indexEntry = indexEntry;
+
+this.buffer = new byte[length];
+for (int i = 0; i < length; i++) {
+this.buffer[i] = buffer[i + offset];
+}
+this.offset = 0;
+this.length = length;
+}
+
+public UUID getUuid() {
+return new UUID(indexEntry.getMsb(), indexEntry.getLsb());
+}
+
+public ByteBuffer toByteBuffer() {
+return ByteBuffer.wrap(buffer, offset, length);
+}
+
+void passTo(SegmentWriteQueue.SegmentConsumer consumer) throws IOException 
{
+consumer.consume(indexEntry, buffer, offset, length);
+}
+
+@Override
+public String toString() {
+return getUuid().toString();
+}
+}

Added: 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteQueue.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteQueue.java?rev=1827292=auto
==
--- 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteQueue.java
 (added)
+++ 
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/queue/SegmentWriteQueue.java
 Tue Mar 20 10:54:09 2018
@@ -0,0 +1,277 @@
+/*
+ * 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.segment.azure.queue;
+
+import org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveEntry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.BlockingDeque;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+public class SegmentWriteQueue implements Closeable {
+
+

svn commit: r1827291 [2/2] - in /jackrabbit/oak/trunk: oak-parent/ oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/ oak-segment-tar/ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/se

2018-03-20 Thread tomekr
Copied: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java
 (from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java=1827287=1827291=1827291=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java
 Tue Mar 20 10:53:44 2018
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.jackrabbit.oak.segment.file.tar;
+package org.apache.jackrabbit.oak.segment.spi.monitor;
 
 /**
  * FileStoreMonitor are notified for any writes or deletes

Copied: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java
 (from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java=1827287=1827291=1827291=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java
 Tue Mar 20 10:53:44 2018
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.jackrabbit.oak.segment.file.tar;
+package org.apache.jackrabbit.oak.segment.spi.monitor;
 
 public class FileStoreMonitorAdapter implements FileStoreMonitor {
 

Copied: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java
 (from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java=1827287=1827291=1827291=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java
 Tue Mar 20 10:53:44 2018
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.jackrabbit.oak.segment.file.tar;
+package org.apache.jackrabbit.oak.segment.spi.monitor;
 
 import java.io.File;
 

Copied: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java
 (from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java=1827287=1827291=1827291=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java
 Tue Mar 20 10:53:44 2018
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.jackrabbit.oak.segment.file.tar;
+package 

svn commit: r1827291 [1/2] - in /jackrabbit/oak/trunk: oak-parent/ oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/ oak-segment-tar/ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/se

2018-03-20 Thread tomekr
Author: tomekr
Date: Tue Mar 20 10:53:44 2018
New Revision: 1827291

URL: http://svn.apache.org/viewvc?rev=1827291=rev
Log:
OAK-7355: Move the pluggable storage interfaces to the SPI package

Added:

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/SimpleIndexEntry.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java
  - copied, changed from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java
  - copied, changed from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java
  - copied, changed from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java
  - copied, changed from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveEntry.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveManager.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveReader.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentNodeStorePersistence.java
  - copied, changed from r1827287, 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStorePersistence.java
Removed:

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentArchiveManager.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStorePersistence.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarEntry.java
Modified:
jackrabbit/oak/trunk/oak-parent/pom.xml

jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/SegmentTarExplorerBackend.java
jackrabbit/oak/trunk/oak-segment-tar/pom.xml

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreFactory.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/AbstractFileStore.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileReaper.java


svn commit: r1827287 - /jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java

2018-03-20 Thread stillalex
Author: stillalex
Date: Tue Mar 20 10:10:17 2018
New Revision: 1827287

URL: http://svn.apache.org/viewvc?rev=1827287=rev
Log:
OAK-7354 Test failure 
ExternalIdentityImporterTest.importExternalUserWithPrincipalNames
 - refactor repo creation


Modified:

jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java?rev=1827287=1827286=1827287=diff
==
--- 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityImporterTest.java
 Tue Mar 20 10:10:17 2018
@@ -37,8 +37,6 @@ import org.apache.jackrabbit.oak.spi.sec
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.TestSecurityProvider;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIdentityConstants;
 import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
@@ -71,11 +69,8 @@ public class ExternalIdentityImporterTes
 "   2016-05-03T10:03:08.061+02:00"
 +
 "";
 
-private Repository repo;
-
-@Before
-public void before() throws Exception {
-SecurityProvider securityProvider = 
TestSecurityProvider.newTestSecurityProvider(getConfigurationParameters(),
+private Repository createRepo() throws Exception {
+SecurityProvider securityProvider = 
TestSecurityProvider.newTestSecurityProvider(ConfigurationParameters.EMPTY,
 new ExternalPrincipalConfiguration());
 QueryEngineSettings queryEngineSettings = new QueryEngineSettings();
 queryEngineSettings.setFailTraversal(true);
@@ -83,22 +78,16 @@ public class ExternalIdentityImporterTes
 Jcr jcr = new Jcr();
 jcr.with(securityProvider);
 jcr.with(queryEngineSettings);
-repo = jcr.createRepository();
+return jcr.createRepository();
 }
 
-@After
-public void after() throws Exception {
-if (repo instanceof JackrabbitRepository) {
+private static void shutdown(Repository repo) throws Exception {
+if (repo != null && repo instanceof JackrabbitRepository) {
 ((JackrabbitRepository) repo).shutdown();
 }
 }
 
-@Nonnull
-ConfigurationParameters getConfigurationParameters() {
-return ConfigurationParameters.EMPTY;
-}
-
-Session createSession(boolean isSystem) throws Exception {
+Session createSession(Repository repo, boolean isSystem) throws Exception {
 if (isSystem) {
 return Subject.doAs(SystemSubject.INSTANCE, new 
PrivilegedExceptionAction() {
 @Override
@@ -140,9 +129,11 @@ public class ExternalIdentityImporterTes
 
 @Test
 public void importExternalUser() throws Exception {
+Repository repo = null;
 Session s = null;
 try {
-s = createSession(false);
+repo = createRepo();
+s = createSession(repo, false);
 Node parent = doImport(s, UserConstants.DEFAULT_USER_PATH, 
XML_EXTERNAL_USER);
 assertHasProperties(parent.getNode("t"), 
ExternalIdentityConstants.REP_EXTERNAL_ID,
 ExternalIdentityConstants.REP_LAST_SYNCED);
@@ -151,14 +142,17 @@ public class ExternalIdentityImporterTes
 if (s != null) {
 s.logout();
 }
+shutdown(repo);
 }
 }
 
 @Test
 public void importExternalUserAsSystem() throws Exception {
+Repository repo = null;
 Session s = null;
 try {
-s = createSession(true);
+repo = createRepo();
+s = createSession(repo, true);
 Node parent = doImport(s, UserConstants.DEFAULT_USER_PATH, 
XML_EXTERNAL_USER);
 assertHasProperties(parent.getNode("t"), 
ExternalIdentityConstants.REP_EXTERNAL_ID,
 ExternalIdentityConstants.REP_LAST_SYNCED);
@@ -167,14 +161,17 @@ public class ExternalIdentityImporterTes
 if (s != null) {
 s.logout();
 }
+shutdown(repo);
 }
 }
 
 @Test
 public void importExternalUserWithPrincipalNames() throws 

svn commit: r1827283 - in /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment: CommitsTracker.java SegmentNodeStoreStats.java SegmentNodeStoreStatsMBean.java

2018-03-20 Thread adulceanu
Author: adulceanu
Date: Tue Mar 20 09:21:14 2018
New Revision: 1827283

URL: http://svn.apache.org/viewvc?rev=1827283=rev
Log:
OAK-7337 - CommitsTracker data is always empty when exposed via JMX
Made commitsCountMapMaxSize configurable via JMX

Modified:

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStats.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStatsMBean.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java?rev=1827283=1827282=1827283=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CommitsTracker.java
 Tue Mar 20 09:21:14 2018
@@ -39,18 +39,11 @@ import com.googlecode.concurrentlinkedha
  * This class delegates thread-safety to its underlying state variables. 
  */
 class CommitsTracker {
-private static final int DEFAULT_COMMITS_COUNT_MAP_SIZE = 20;
-private static final boolean DEFAULT_COLLECT_STACK_TRACES = true;
-
 private volatile boolean collectStackTraces;
 
 private final ConcurrentMap queuedWritersMap;
 private final ConcurrentMap commitsCountMap;
 
-CommitsTracker() {
-this(DEFAULT_COMMITS_COUNT_MAP_SIZE, DEFAULT_COLLECT_STACK_TRACES);
-}
-
 CommitsTracker(int commitsCountMapMaxSize, boolean collectStackTraces) {
 this.collectStackTraces = collectStackTraces;
 this.commitsCountMap = new ConcurrentLinkedHashMap.Builder()

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStats.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStats.java?rev=1827283=1827282=1827283=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStats.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreStats.java
 Tue Mar 20 09:21:14 2018
@@ -44,24 +44,28 @@ import org.apache.jackrabbit.oak.stats.S
 import org.apache.jackrabbit.oak.stats.TimerStats;
 
 public class SegmentNodeStoreStats implements SegmentNodeStoreStatsMBean, 
SegmentNodeStoreMonitor {
+private static final boolean DEFAULT_COLLECT_STACK_TRACES = true;
+private static final int DEFAULT_COMMITS_COUNT_MAP_SIZE = 20;
+
 public static final String COMMITS_COUNT = "COMMITS_COUNT";
 public static final String COMMIT_QUEUE_SIZE = "COMMIT_QUEUE_SIZE";
 public static final String COMMIT_TIME = "COMMIT_TIME";
 public static final String QUEUEING_TIME = "QUEUEING_TIME";
 
 private final StatisticsProvider statisticsProvider;
-private final CommitsTracker commitsTracker;
 private final MeterStats commitsCount;
 private final CounterStats commitQueueSize;
 private final TimerStats commitTime;
 private final TimerStats queueingTime;
 
-private boolean collectStackTraces;
+private volatile CommitsTracker commitsTracker;
+private boolean collectStackTraces = DEFAULT_COLLECT_STACK_TRACES;
+private int commitsCountMapMaxSize = DEFAULT_COMMITS_COUNT_MAP_SIZE;
 
 public SegmentNodeStoreStats(StatisticsProvider statisticsProvider) {
 this.statisticsProvider = statisticsProvider;
 
-this.commitsTracker = new CommitsTracker();
+this.commitsTracker = new CommitsTracker(commitsCountMapMaxSize, 
collectStackTraces);
 this.commitsCount = statisticsProvider.getMeter(COMMITS_COUNT, 
StatsOptions.DEFAULT);
 this.commitQueueSize = 
statisticsProvider.getCounterStats(COMMIT_QUEUE_SIZE, StatsOptions.DEFAULT);
 this.commitTime = statisticsProvider.getTimer(COMMIT_TIME, 
StatsOptions.DEFAULT);
@@ -171,11 +175,20 @@ public class SegmentNodeStoreStats imple
 public boolean isCollectStackTraces() {
 return collectStackTraces;
 }
+
+public int getCommitsCountMapMaxSize() {
+return commitsCountMapMaxSize;
+}
+
+public void setCommitsCountMapMaxSize(int commitsCountMapMaxSize) {
+this.commitsCountMapMaxSize = commitsCountMapMaxSize;
+commitsTracker = new CommitsTracker(commitsCountMapMaxSize, 
collectStackTraces);
+}
 
 private TimeSeries getTimeSeries(String name) {
 

svn commit: r1827284 - /jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java

2018-03-20 Thread adulceanu
Author: adulceanu
Date: Tue Mar 20 09:21:43 2018
New Revision: 1827284

URL: http://svn.apache.org/viewvc?rev=1827284=rev
Log:
OAK-7337 - CommitsTracker data is always empty when exposed via JMX
Added unit test for CommitsTracker

Added:

jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java

Added: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java?rev=1827284=auto
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
 (added)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
 Tue Mar 20 09:21:43 2018
@@ -0,0 +1,100 @@
+/*
+ * 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.segment;
+
+import static java.util.concurrent.Executors.newFixedThreadPool;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+
+import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
+import org.junit.Test;
+
+public class CommitsTrackerTest {
+
+static class DequedCommitTask implements Runnable {
+private final CommitsTracker commitsTracker;
+private final String threadName;
+private final CountDownLatch latch;
+
+public DequedCommitTask(CommitsTracker commitsTracker, String 
threadName, CountDownLatch latch) {
+this.commitsTracker = commitsTracker;
+this.threadName = threadName;
+this.latch = latch;
+}
+
+@Override
+public void run() {
+Thread.currentThread().setName(threadName);
+commitsTracker.trackDequedCommitOf(Thread.currentThread());
+latch.countDown();
+}
+}
+
+@Test
+public void testSizeConstraints() throws InterruptedException {
+CommitsTracker commitsTracker = new CommitsTracker(10, false);
+ExecutorService executorService = newFixedThreadPool(30);
+final CountDownLatch addLatch = new CountDownLatch(25);
+
+Runnable executedCommitTask = () -> {
+commitsTracker.trackExecutedCommitOf(Thread.currentThread());
+addLatch.countDown();
+};
+
+Runnable queuedCommitTask = () -> {
+Thread t = Thread.currentThread();
+commitsTracker.trackQueuedCommitOf(t);
+addLatch.countDown();
+};
+
+try {
+for (int i = 0; i < 20; i++) {
+executorService.submit(executedCommitTask);
+}
+
+for (int i = 0; i < 5; i++) {
+executorService.submit(queuedCommitTask);
+}
+
+addLatch.await();
+Map commitsCountMap = 
commitsTracker.getCommitsCountMap();
+Map queuedWritersMap = 
commitsTracker.getQueuedWritersMap();
+
+assertTrue(commitsCountMap.size() >= 10);
+assertTrue(commitsCountMap.size() < 20);
+assertEquals(5, queuedWritersMap.size());
+
+CountDownLatch removeLatch = new CountDownLatch(5);
+for (String threadName : queuedWritersMap.keySet()) {
+executorService.submit(new DequedCommitTask(commitsTracker, 
threadName, removeLatch));
+}
+
+removeLatch.await();
+queuedWritersMap = commitsTracker.getQueuedWritersMap();
+assertEquals(0, queuedWritersMap.size());
+} finally {
+new ExecutorCloser(executorService).close();
+}
+}
+}




svn commit: r1827282 - in /jackrabbit/oak/trunk/oak-segment-tar/src: main/java/org/apache/jackrabbit/oak/segment/ main/java/org/apache/jackrabbit/oak/segment/scheduler/ test/java/org/apache/jackrabbit

2018-03-20 Thread adulceanu
Author: adulceanu
Date: Tue Mar 20 09:20:55 2018
New Revision: 1827282

URL: http://svn.apache.org/viewvc?rev=1827282=rev
Log:
OAK-7337 - CommitsTracker data is always empty when exposed via JMX
Removed duplicate instantiation of SegmentNodeStoreStats in both 
SegmentNodeStore and LockBasedScheduler in favor of the former

Modified:

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStore.java

jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java

jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerCheckpointTest.java

jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerTest.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStore.java?rev=1827282=1827281=1827282=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStore.java
 Tue Mar 20 09:20:55 2018
@@ -162,13 +162,10 @@ public class SegmentNodeStore implements
 private SegmentNodeStore(SegmentNodeStoreBuilder builder) {
 this.writer = builder.writer;
 this.blobStore = builder.blobStore;
-
-this.scheduler = LockBasedScheduler.builder(builder.revisions, 
builder.reader)
+this.stats = new SegmentNodeStoreStats(builder.statsProvider);
+this.scheduler = LockBasedScheduler.builder(builder.revisions, 
builder.reader, stats)
 .dispatchChanges(builder.dispatchChanges)
-.withStatisticsProvider(builder.statsProvider)
 .build();
-
-this.stats = new SegmentNodeStoreStats(builder.statsProvider);
 }
 
 @Override

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java?rev=1827282=1827281=1827282=diff
==
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java
 Tue Mar 20 09:20:55 2018
@@ -52,7 +52,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.commit.Observer;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -64,28 +63,17 @@ public class LockBasedScheduler implemen
 
 @Nonnull
 private final Revisions revisions;
-
+
 @Nonnull
-private StatisticsProvider statsProvider = StatisticsProvider.NOOP;
+private final SegmentNodeStoreStats stats;
 
 private boolean dispatchChanges = true;
 
-private LockBasedSchedulerBuilder(@Nonnull Revisions revisions, 
@Nonnull SegmentReader reader) {
+private LockBasedSchedulerBuilder(@Nonnull Revisions revisions, 
@Nonnull SegmentReader reader,
+@Nonnull SegmentNodeStoreStats stats) {
 this.revisions = revisions;
 this.reader = reader;
-}
-
-/**
- * {@link StatisticsProvider} for collecting statistics related to
- * SegmentStore
- * 
- * @param statisticsProvider
- * @return this instance
- */
-@Nonnull
-public LockBasedSchedulerBuilder withStatisticsProvider(@Nonnull 
StatisticsProvider statisticsProvider) {
-this.statsProvider = checkNotNull(statisticsProvider);
-return this;
+this.stats = stats;
 }
 
 @Nonnull
@@ -105,8 +93,9 @@ public class LockBasedScheduler implemen
 
 }
 
-public static LockBasedSchedulerBuilder builder(@Nonnull Revisions 
revisions, @Nonnull SegmentReader reader) {
-return new LockBasedSchedulerBuilder(checkNotNull(revisions), 
checkNotNull(reader));
+public static LockBasedSchedulerBuilder builder(@Nonnull Revisions 
revisions, @Nonnull SegmentReader reader,
+@Nonnull SegmentNodeStoreStats stats) {
+return new LockBasedSchedulerBuilder(checkNotNull(revisions), 
checkNotNull(reader),