svn commit: r1827340 - /jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureBlobMetadata.java
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/
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/
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/
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
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
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
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
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/
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
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
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
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
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
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
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 ConcurrentMapqueuedWritersMap; 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
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(); +MapcommitsCountMap = 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
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),