32
32
type : string
33
33
34
34
env :
35
- POM_VERSION : 2021 -SNAPSHOT
36
- JAVA_VERSION : 17
35
+ POM_VERSION : 2023 -SNAPSHOT
36
+ JAVA_VERSION : 21
37
37
ERRORS_THRESHOLD : 0.01
38
38
39
39
jobs :
44
44
uses : actions/checkout@v4
45
45
46
46
- name : Set up JDK
47
- uses : actions/setup-java@v3
47
+ uses : actions/setup-java@v4
48
48
with :
49
49
java-version : ${{env.JAVA_VERSION}}
50
50
cache : ' maven'
@@ -58,13 +58,13 @@ jobs:
58
58
runs-on : ubuntu-latest
59
59
strategy :
60
60
matrix :
61
- profile : [ 'cockroachdb', 'mariadb', 'mysql', 'postgres ', 'spanner ', 'phoenix ', 'sqlserver ', 'sqlite' ]
61
+ profile : [ 'cockroachdb', 'mariadb', 'mysql', 'oracle ', 'phoenix ', 'postgres ', 'spanner ', 'sqlite', 'sqlserver ' ]
62
62
steps :
63
63
- name : Checkout repo
64
64
uses : actions/checkout@v4
65
65
66
66
- name : Set up JDK
67
- uses : actions/setup-java@v3
67
+ uses : actions/setup-java@v4
68
68
with :
69
69
java-version : ${{env.JAVA_VERSION}}
70
70
cache : ' maven'
@@ -105,7 +105,7 @@ jobs:
105
105
rm -rf benchbase-sqlite.tgz
106
106
107
107
- name : Set up JDK
108
- uses : actions/setup-java@v3
108
+ uses : actions/setup-java@v4
109
109
with :
110
110
java-version : ${{env.JAVA_VERSION}}
111
111
distribution : ' temurin'
@@ -175,7 +175,7 @@ jobs:
175
175
rm -rf benchbase-mariadb.tgz
176
176
177
177
- name : Set up JDK
178
- uses : actions/setup-java@v3
178
+ uses : actions/setup-java@v4
179
179
with :
180
180
java-version : ${{env.JAVA_VERSION}}
181
181
distribution : ' temurin'
@@ -243,7 +243,7 @@ jobs:
243
243
rm -rf benchbase-mysql.tgz
244
244
245
245
- name : Set up JDK
246
- uses : actions/setup-java@v3
246
+ uses : actions/setup-java@v4
247
247
with :
248
248
java-version : ${{env.JAVA_VERSION}}
249
249
distribution : ' temurin'
@@ -271,6 +271,83 @@ jobs:
271
271
fi
272
272
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
273
273
274
+ # # ----------------------------------------------------------------------------------
275
+ # # ORACLE
276
+ # # ----------------------------------------------------------------------------------
277
+ oracle :
278
+ needs : package-and-upload
279
+ runs-on : ubuntu-latest
280
+ strategy :
281
+ fail-fast : false
282
+ matrix :
283
+ benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'tpcc', 'twitter', 'voter', 'wikipedia', 'ycsb', 'templated' ]
284
+ services :
285
+ oracle :
286
+ image : gvenzl/oracle-xe:21.3.0-slim-faststart
287
+ ports :
288
+ - " 1521:1521"
289
+ - " 5500:5500"
290
+ env :
291
+ ORACLE_PASSWORD : password
292
+ ORACLE_CHARACTERSET : AL32UTF8
293
+ APP_USER : benchbase
294
+ APP_USER_PASSWORD : password
295
+ options : >-
296
+ --name oracle
297
+ --health-cmd "echo exit | sqlplus benchbase/password@xepdb1 | grep Connected"
298
+ --health-interval 10s
299
+ --health-timeout 5s
300
+ --health-retries 5
301
+ --health-start-period 5s
302
+ steps :
303
+ - name : Download artifact
304
+ uses : actions/download-artifact@v3
305
+ with :
306
+ name : benchbase-oracle
307
+
308
+ - name : Extract artifact
309
+ run : |
310
+ tar xvzf benchbase-oracle.tgz --strip-components=1
311
+
312
+ - name : Delete artifact
313
+ run : |
314
+ rm -rf benchbase-oracle.tgz
315
+
316
+ - name : Set up user reset script
317
+ run : |
318
+ docker cp config/oracle/scripts/reset.sql oracle:/opt/oracle/reset.sql
319
+
320
+ - name : Set up JDK
321
+ uses : actions/setup-java@v4
322
+ with :
323
+ java-version : ${{env.JAVA_VERSION}}
324
+ distribution : ' temurin'
325
+
326
+ - name : Run benchmark
327
+ run : |
328
+ docker exec oracle sqlplus "sys/password@xepdb1 as sysdba" @reset.sql
329
+ # For templated benchmarks, we need to preload some data for the test since by design, templated benchmarks do not support the 'load' operation
330
+ # In this case, we load the tpcc data.
331
+ if [[ ${{matrix.benchmark}} == templated ]]; then
332
+ java -jar benchbase.jar -b tpcc -c config/oracle/sample_tpcc_config.xml --create=true --load=true --execute=false --json-histograms results/histograms.json
333
+ java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/oracle/sample_${{matrix.benchmark}}_config.xml --create=false --load=false --execute=true --json-histograms results/histograms.json
334
+ else
335
+ java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/oracle/sample_${{matrix.benchmark}}_config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
336
+ fi
337
+ # FIXME: Reduce the error rate so we don't need these overrides.
338
+ if [ ${{matrix.benchmark}} == auctionmark ]; then
339
+ ERRORS_THRESHOLD=0.04
340
+ elif [ ${{matrix.benchmark}} == tatp ]; then
341
+ ERRORS_THRESHOLD=0.05
342
+ elif [ ${{matrix.benchmark}} == tpcc ]; then
343
+ ERRORS_THRESHOLD=0.03
344
+ elif [ ${{matrix.benchmark}} == resourcestresser ]; then
345
+ ERRORS_THRESHOLD=0.04
346
+ elif [ ${{matrix.benchmark}} == wikipedia ]; then
347
+ ERRORS_THRESHOLD=0.02
348
+ fi
349
+ ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
350
+
274
351
# # ----------------------------------------------------------------------------------
275
352
# # POSTGRESQL
276
353
# # ----------------------------------------------------------------------------------
@@ -310,7 +387,7 @@ jobs:
310
387
rm -rf benchbase-postgres.tgz
311
388
312
389
- name : Set up JDK
313
- uses : actions/setup-java@v3
390
+ uses : actions/setup-java@v4
314
391
with :
315
392
java-version : ${{env.JAVA_VERSION}}
316
393
distribution : ' temurin'
@@ -370,7 +447,7 @@ jobs:
370
447
rm -rf benchbase-cockroachdb.tgz
371
448
372
449
- name : Set up JDK
373
- uses : actions/setup-java@v3
450
+ uses : actions/setup-java@v4
374
451
with :
375
452
java-version : ${{env.JAVA_VERSION}}
376
453
distribution : ' temurin'
@@ -427,7 +504,7 @@ jobs:
427
504
rm -rf benchbase-sqlserver.tgz
428
505
429
506
- name : Set up JDK
430
- uses : actions/setup-java@v3
507
+ uses : actions/setup-java@v4
431
508
with :
432
509
java-version : ${{env.JAVA_VERSION}}
433
510
distribution : ' temurin'
@@ -481,7 +558,7 @@ jobs:
481
558
runs-on : ubuntu-latest
482
559
env :
483
560
DOCKER_BUILDKIT : 1
484
- BENCHBASE_PROFILES : ' cockroachdb mariadb mysql postgres spanner phoenix sqlserver sqlite '
561
+ BENCHBASE_PROFILES : ' cockroachdb mariadb mysql oracle phoenix postgres spanner sqlite sqlserver'
485
562
CONTAINER_REGISTRY_NAME : ${{ secrets.ACR_LOGINURL }}
486
563
services :
487
564
postgres : # https://hub.docker.com/_/postgres
0 commit comments