Author: reschke
Date: Tue Feb 17 13:29:57 2015
New Revision: 1660374
URL: http://svn.apache.org/r1660374
Log:
OAK-2506 - port RDB support back to Oak 1.0
Part 5: oak-run support for testing against a custom table prefix (and dropping
those tables afterwards)
Modified:
jackrabbit/oak/branches/1.0/ (props changed)
jackrabbit/oak/branches/1.0/oak-run/README.md
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 17 13:29:57 2015
@@ -1,2 +1,2 @@
-/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,1595147,1595457,1595856,1596241,1596474,1596534,1596844,1597569,1597795,1597854,1597860,1598292,1598302,1598352,1598369,1598595,1598631,1598696,1598732,1598797-1598798,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,1608560,1608731,1608783,1609064,1609081,1609165,1609214,1609
488,1610489,1610592,1610603,1610634,1610658,1610664,1611021,1611041,1611270,1611275,1611277,1611313,1611332,1611584,1612560,1612825,1612993,1613018,1613041,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,1627473,1627479,1627503,1627586,1627590,1627715,1627731,1628180,1628198,1
628262,1628447,1628608,1629688,1629840,1629917,1630055-1630057,1630156,1630299,1630338,1630773,1631283-1631284,1631333-1631334,1631617-1631619,1631630,1631699,1631704,1631711,1631967-1631969,1631986,1631990,1631999,1632002-1632003,1632017,1632258,1632264,1632270,1632293,1632303,1632592,1632605,1633315,1633559-1633560,1633562,1633567,1633571,1633598,1633608,1633641,1633687,1633697,1633768,1633783,1634505,1634513,1634774,1634779,1634781,1634792,1634803,1634814,1634816,1634838,1634841,1634852,1634864,1634896,1634898,1635044-1635045,1635060,1635077,1635089,1635102,1635108,1635218,1635387,1635435,1635518,1635563,1635586,1636336,1636348,1636505,1636585,1636799,1637368,1637382,1637413,1637651,1637815,1638779-1638783,1639260,1639577,1639622,1639963,1639966,1639973,1640134,1640143,1640555-1640556,1640694-1640695,1640715,1640722-1640723,1640728,1640863-1640872,1641340,1641350,1641352,1641541,1641596-1641599,1641601,1641662,1641671,1641695,1641771,1641802,1641811,1641950,1642031,1642056,164211
9,1642285,1642648,1642667,1642954,1642959,1643111,1643178,1643186,1643204,1643287,1643767,1643774,1643982,1644016,1644106,1644366,1644383,1644397-1644398,1644407,1644479,1644547,1644552,1644554,1644588,1644645,1644650,1644654,1644689,1644750,1645421,1645424,1645459,1645585,1645611,1645637,1645646,1645660-1645663,1645888,1645901,1645948,1645966,1645970-1645971,1646014,1646164,1646174,1646684,1649743,1649803,1650015,1650239,1650529,1650797,1651323,1651382,1651643,1651652,1651730,1651988-1651989,1651996,1652024,1652035,1652058-1652059,1652075,1652127,1652158,1652467,1652965,1652971,1653207,1653446,1653463,1653572,1653579,1653591,1653804,1653809,1653849-1653850,1653882,1654116,1654743,1654756,1654778,1655049,1655054-1655055,1655086,1655237,1655248,1655996,1656027,1656394,1656400,1656425,1656427,1656453,1656628,1659483,1659527,1659550,1659578,1660154-1660155
+/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,1595147,1595457,1595856,1596241,1596474,1596534,1596844,1597569,1597795,1597854,1597860,1598292,1598302,1598352,1598369,1598595,1598631,1598696,1598732,1598797-1598798,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,1608560,1608731,1608783,1609064,1609081,1609165,1609214,1609
488,1610489,1610592,1610603,1610634,1610658,1610664,1611021,1611041,1611270,1611275,1611277,1611313,1611332,1611584,1612560,1612825,1612993,1613018,1613041,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,1627473,1627479,1627503,1627586,1627590,1627715,1627731,1628180,1628198,1
628262,1628447,1628608,1629688,1629840,1629917,1630055-1630057,1630156,1630299,1630338,1630773,1631283-1631284,1631333-1631334,1631617-1631619,1631630,1631699,1631704,1631711,1631967-1631969,1631986,1631990,1631999,1632002-1632003,1632017,1632258,1632264,1632270,1632293,1632303,1632592,1632605,1633315,1633559-1633560,1633562,1633567,1633571,1633598,1633608,1633641,1633687,1633697,1633768,1633783,1634505,1634513,1634774,1634779,1634781,1634792,1634803,1634814,1634816,1634838,1634841,1634852,1634864,1634896,1634898,1635044-1635045,1635060,1635077,1635089,1635102,1635108,1635218,1635387,1635435,1635518,1635563,1635586,1636336,1636348,1636505,1636585,1636799,1637368,1637382,1637413,1637651,1637815,1638779-1638783,1639260,1639577,1639622,1639963,1639966,1639973,1640134,1640143,1640555-1640556,1640694-1640695,1640715,1640722-1640723,1640728,1640863-1640872,1641340,1641350,1641352,1641541,1641596-1641599,1641601,1641662,1641671,1641695,1641771,1641802,1641811,1641950,1642031,1642056,164211
9,1642285,1642648,1642667,1642954,1642959,1643111,1643178,1643186,1643204,1643287,1643767,1643774,1643982,1644016,1644106,1644366,1644383,1644397-1644398,1644407,1644479,1644547,1644552,1644554,1644588,1644645,1644650,1644654,1644689,1644750,1645421,1645424,1645459,1645585,1645611,1645637,1645646,1645660-1645663,1645888,1645901,1645948,1645966,1645970-1645971,1646014,1646164,1646174,1646684,1649743,1649803,1650015,1650239,1650529,1650797,1651323,1651382,1651643,1651652,1651730,1651988-1651989,1651996,1652024,1652035,1652058-1652059,1652075,1652127,1652158,1652467,1652965,1652971,1653207,1653446,1653463,1653572,1653579,1653591,1653804,1653809,1653849-1653850,1653882,1654116,1654743,1654756,1654778,1655049,1655054-1655055,1655086,1655237,1655248,1655996,1656027,1656394,1656400,1656425,1656427,1656453,1656628,1657804,1658470,1659483,1659527,1659550,1659578,1660154-1660155
/jackrabbit/trunk:1345480
Modified: jackrabbit/oak/branches/1.0/oak-run/README.md
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/README.md?rev=1660374&r1=1660373&r2=1660374&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-run/README.md (original)
+++ jackrabbit/oak/branches/1.0/oak-run/README.md Tue Feb 17 13:29:57 2015
@@ -197,6 +197,7 @@ The following benchmark options (with de
--rdbjdbcuri - JDBC URL for RDB persistence (defaults to local
file-based H2)
--rdbjdbcuser - JDBC username (defaults to "")
--rdbjdbcpasswd - JDBC password (defaults to "")
+ --rdbjdbctableprefix - for RDB persistence: prefix for table names
(defaults to "")
These options are passed to the test cases and repository fixtures
that need them. For example the Wikipedia dump option is needed by the
@@ -250,7 +251,9 @@ Finally the benchmark runner supports th
| Oak-RDB | Oak with the DocumentMK/RDB persistence |
(Note that for Oak-RDB, the required JDBC drivers either need to be embedded
-into oak-run, or be specified separately in the class path.)
+into oak-run, or be specified separately in the class path. Furthermode,
+dropDBAfterTest is interpreted to drop the *tables*, not the database
+iself, if and only if they have been auto-created)
Once started, the benchmark runner will execute each listed test case
against all the listed repository fixtures. After starting up the
Modified:
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1660374&r1=1660373&r2=1660374&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
(original)
+++
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
Tue Feb 17 13:29:57 2015
@@ -60,6 +60,8 @@ public class BenchmarkRunner {
.withOptionalArg().defaultsTo("");
OptionSpec<String> rdbjdbcpasswd = parser.accepts("rdbjdbcpasswd",
"RDB JDBC password")
.withOptionalArg().defaultsTo("");
+ OptionSpec<String> rdbjdbctableprefix =
parser.accepts("rdbjdbctableprefix", "RDB JDBC table prefix")
+ .withOptionalArg().defaultsTo("");
OptionSpec<Boolean> mmap = parser.accepts("mmap", "TarMK memory
mapping")
.withOptionalArg().ofType(Boolean.class)
.defaultsTo("64".equals(System.getProperty("sun.arch.data.model")));
@@ -109,10 +111,9 @@ public class BenchmarkRunner {
cacheSize * MB),
OakRepositoryFixture.getTar(
base.value(options), 256, cacheSize,
mmap.value(options)),
- OakRepositoryFixture.getRDB(rdbjdbcuri.value(options),
- rdbjdbcuser.value(options),
rdbjdbcpasswd.value(options),
- dropDBAfterTest.value(options), cacheSize * MB)
- };
+ OakRepositoryFixture.getRDB(rdbjdbcuri.value(options),
rdbjdbcuser.value(options),
+ rdbjdbcpasswd.value(options),
rdbjdbctableprefix.value(options),
+ dropDBAfterTest.value(options), cacheSize * MB) };
Benchmark[] allBenchmarks = new Benchmark[] {
new OrderedIndexQueryOrderedIndexTest(),
new OrderedIndexQueryStandardIndexTest(),
Modified:
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java?rev=1660374&r1=1660373&r2=1660374&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
(original)
+++
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
Tue Feb 17 13:29:57 2015
@@ -35,6 +35,8 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBOptions;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
@@ -256,15 +258,19 @@ public abstract class OakFixture {
}
public static OakFixture getRDB(final String name, final String jdbcuri,
final String jdbcuser, final String jdbcpasswd,
- final boolean useMk, final boolean dropDBAfterTest, final long
cacheSize) {
+ final boolean useMk, final String tablePrefix, final boolean
dropDBAfterTest, final long cacheSize) {
return new OakFixture(name) {
private DocumentMK[] kernels;
private BlobStore blobStore;
+ private RDBOptions getOptions(boolean dropDBAFterTest, String
tablePrefix) {
+ return new
RDBOptions().dropTablesOnClose(dropDBAfterTest).tablePrefix(tablePrefix);
+ }
+
private BlobStore getBlobStore() {
try {
DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri,
jdbcuser, jdbcpasswd);
- blobStore = new RDBBlobStore(ds);
+ blobStore = new RDBBlobStore(ds,
getOptions(dropDBAfterTest, tablePrefix));
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -275,7 +281,8 @@ public abstract class OakFixture {
@Override
public Oak getOak(int clusterId) throws Exception {
DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri,
jdbcuser, jdbcpasswd);
- DocumentMK.Builder mkBuilder = new
DocumentMK.Builder().setRDBConnection(ds).memoryCacheSize(cacheSize)
+ DocumentMK.Builder mkBuilder = new DocumentMK.Builder()
+ .setRDBConnection(ds, getOptions(dropDBAfterTest,
tablePrefix)).memoryCacheSize(cacheSize)
.setClusterId(clusterId).setLogging(false);
BlobStore blobStore = getBlobStore();
if (blobStore != null) {
@@ -298,7 +305,8 @@ public abstract class OakFixture {
for (int i = 0; i < cluster.length; i++) {
BlobStore blobStore = getBlobStore();
DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri,
jdbcuser, jdbcpasswd);
- DocumentMK.Builder mkBuilder = new
DocumentMK.Builder().setRDBConnection(ds).memoryCacheSize(cacheSize)
+ DocumentMK.Builder mkBuilder = new DocumentMK.Builder()
+ .setRDBConnection(ds, getOptions(dropDBAfterTest,
tablePrefix)).memoryCacheSize(cacheSize)
.setClusterId(i).setLogging(false);
if (blobStore != null) {
mkBuilder.setBlobStore(blobStore);
@@ -317,11 +325,17 @@ public abstract class OakFixture {
@Override
public void tearDownCluster() {
+ String dropped = "";
for (DocumentMK kernel : kernels) {
kernel.dispose();
+ if (kernel.getDocumentStore() instanceof RDBDocumentStore)
{
+ dropped +=
((RDBDocumentStore)kernel.getDocumentStore()).getDroppedTables();
+ }
}
if (dropDBAfterTest) {
- throw new RuntimeException("dropdb not supported for RDB
persistence");
+ if (dropped.isEmpty()) {
+ throw new RuntimeException("dropdb was set, but tables
have not been dropped");
+ }
}
}
};
Modified:
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java?rev=1660374&r1=1660373&r2=1660374&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
(original)
+++
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
Tue Feb 17 13:29:57 2015
@@ -66,9 +66,10 @@ public class OakRepositoryFixture implem
return new OakRepositoryFixture(OakFixture.getMongo(name, useMK, host,
port, database, dropDBAfterTest, cacheSize));
}
- public static RepositoryFixture getRDB(String jdbcuri, String jdbcuser,
String jdbcpasswd, boolean dropDBAfterTest, long cacheSize) {
- return new OakRepositoryFixture(OakFixture.getRDB(OakFixture.OAK_RDB,
jdbcuri, jdbcuser, jdbcpasswd, false, dropDBAfterTest,
- cacheSize));
+ public static RepositoryFixture getRDB(String jdbcuri, String jdbcuser,
String jdbcpasswd, String jdbctableprefix,
+ boolean dropDBAfterTest, long cacheSize) {
+ return new OakRepositoryFixture(OakFixture.getRDB(OakFixture.OAK_RDB,
jdbcuri, jdbcuser, jdbcpasswd, false,
+ jdbctableprefix, dropDBAfterTest, cacheSize));
}
public static RepositoryFixture getTar(File base, int maxFileSizeMB, int
cacheSizeMB, boolean memoryMapping) {