Skip to content

Commit 11d202f

Browse files
committed
Merge branch 'o-main' into main-perf
2 parents 6204335 + 33a3ff2 commit 11d202f

File tree

1,393 files changed

+63558
-15676
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,393 files changed

+63558
-15676
lines changed

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ stage('Build') {
181181
state[buildEnv.tag]['containerName'] = "postgres"
182182
break;
183183
case "edb":
184-
docker.image('quay.io/enterprisedb/edb-postgres-advanced:14.5-3.2-postgis').pull()
184+
docker.image('quay.io/enterprisedb/edb-postgres-advanced:15.2-3.3-postgis').pull()
185185
sh "./docker_db.sh edb"
186186
state[buildEnv.tag]['containerName'] = "edb"
187187
break;

README.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
Hibernate ORM is a library providing Object/Relational Mapping (ORM) support
2-
to applications, libraries, and frameworks.
1+
Hibernate ORM is a powerful object/relational mapping solution for Java, and makes it easy to develop persistence logic for applications, libraries, and frameworks.
32

4-
It also provides an implementation of the JPA specification, which is the standard Java specification for ORM.
3+
Hibernate implements JPA, the standard API for object/relational persistence in Java, but also offers an extensive set of features and APIs which go beyond the specification.
54

6-
This is the repository of its source code; see https://hibernate.org/orm/[Hibernate.org] for additional information.
5+
See https://hibernate.org/orm/[Hibernate.org] for more information.
76

87
image:https://ci.hibernate.org/job/hibernate-orm-pipeline/job/main/badge/icon[Build Status,link=https://ci.hibernate.org/job/hibernate-orm-pipeline/job/main/]
98
image:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A[link=https://ge.hibernate.org/scans]
@@ -18,7 +17,7 @@ for its CI needs. See
1817

1918
== Building from sources
2019

21-
The build requires at least Java 11 JDK.
20+
The build requires at least Java 11 and at most Java 17.
2221

2322
Hibernate uses https://gradle.org[Gradle] as its build tool. See the _Gradle Primer_ section below if you are new to
2423
Gradle.

branching.adoc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
= ORM Branching
2+
3+
Describes the paradigm used for branching within the ORM project
4+
5+
[[branches]]
6+
== The Branches
7+
8+
* `main` is where we do "latest stable" development. Which specific release family this targets is dependent upon the "critical mass" discussion in <<process>>.
9+
* "Dedicated release branches" (`5.6`, `6.0`, `6.1`, `6.2`, ...) represent previous, no longer supported releases. Branched for posterity.
10+
* PR branches for new features, improvements, disruptive bugfixes, etc target main
11+
* PR branches for performance improvements, security fixes and bugfixes target the affected minor branches (which could be main for a short period of time)
12+
13+
[[process]]
14+
== THe Process
15+
16+
Process (using 6.3 -> 6.4 as an example):
17+
18+
* As mentioned, all new features, improvements, disruptive bugfixes, etc. are developed on topic branches (PR) against main. Based on sprint planning, these will be given a priority and target a particular major/minor release.
19+
* Once we have critical mass for topic branches targeting 6.4:
20+
* `main` will be branched as `6.3` and a 6.3.x release will be done.
21+
* The finished topic branches will be integrated into main and a 6.4.0 Alpha (or Beta or CR)[1] release will be done.
22+
* A bot will cherry-pick changes made to the latest "dedicated release branch" (here, 6.3) and create a PR against main (on the assumption that these changes might be needed there as well). TBD if we want to auto-apply these PRs on successful build.
23+
* PRs against older "dedicated release branches", will first be rebased to the latest stable branch and applied. We'll decide between 6.3 and main based mostly on ; if 6.3, the bot will pick it up.
24+
25+
[1] Historically I am not a huge fan of a full Alpha/Beta/CR cycle for minor releases, usually just doing CRs. But open to convincing otherwise.

checkerstubs/java.lang.astub

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Checkerframework stubs for java.lang
2+
3+
package java.lang.reflect;
4+
5+
import org.checkerframework.checker.nullness.qual.Nullable;
6+
7+
public final class Method extends Executable {
8+
void invoke(@Nullable Object obj, Object @Nullable ... args);
9+
}

checkerstubs/jboss.logging.astub

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Checkerframework stubs for the jboss.logging module
2+
3+
package org.jboss.logging;
4+
5+
import org.checkerframework.checker.nullness.qual.Nullable;
6+
7+
public interface BasicLogger {
8+
void tracef(String format, @Nullable Object param1, @Nullable Object param2);
9+
}

databases/cockroachdb/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
1212
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
1313
*/
14-
jdbcDependency 'org.postgresql:postgresql:42.2.8'
14+
jdbcDependency 'org.postgresql:postgresql:42.6.0'

databases/db2/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
77

8-
jdbcDependency 'com.ibm.db2:jcc:11.5.7.0'
8+
jdbcDependency 'com.ibm.db2:jcc:11.5.8.0'

databases/derby/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
77
//databaseProfile {
8-
jdbcDependency 'org.apache.derby:derby:10.14.2.0'
8+
jdbcDependency 'org.apache.derby:derby:10.15.2.0'
99

1010
// testing {
1111
// beforeSuite {

databases/hana/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
77

8-
jdbcDependency 'com.sap.cloud.db.jdbc:ngdbc:2.4.59'
8+
jdbcDependency 'com.sap.cloud.db.jdbc:ngdbc:2.16.14'

databases/mariadb/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
7-
jdbcDependency 'org.mariadb.jdbc:mariadb-java-client:2.7.7'
7+
jdbcDependency 'org.mariadb.jdbc:mariadb-java-client:2.7.9'

databases/mssqlserver/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
77

8-
jdbcDependency 'com.microsoft.sqlserver:mssql-jdbc:6.4.0.jre8'
8+
jdbcDependency 'com.microsoft.sqlserver:mssql-jdbc:12.2.0.jre11'

databases/mysql/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
7-
jdbcDependency 'mysql:mysql-connector-java:8.0.27'
7+
jdbcDependency 'com.mysql:mysql-connector-j:8.0.33'

databases/oracle/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
7-
jdbcDependency 'com.oracle.database.jdbc:ojdbc8:21.8.0.0'
7+
jdbcDependency 'com.oracle.database.jdbc:ojdbc11:23.2.0.0'

databases/pgsql/matrix.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
55
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
66
*/
7-
jdbcDependency 'org.postgresql:postgresql:42.2.19'
7+
jdbcDependency 'org.postgresql:postgresql:42.6.0'

docker_db.sh

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ postgresql_15() {
147147
}
148148

149149
edb() {
150-
edb_14
150+
edb_15
151151
}
152152

153153
edb_10() {
@@ -164,6 +164,13 @@ edb_14() {
164164
$CONTAINER_CLI run --name edb -e POSTGRES_USER=hibernate_orm_test -e POSTGRES_PASSWORD=hibernate_orm_test -e POSTGRES_DB=hibernate_orm_test -p 5444:5444 -d edb-test:14
165165
}
166166

167+
edb_15() {
168+
$CONTAINER_CLI rm -f edb || true
169+
# We need to build a derived image because the existing image is mainly made for use by a kubernetes operator
170+
(cd edb; $CONTAINER_CLI build -t edb-test:15 -f edb15.Dockerfile .)
171+
$CONTAINER_CLI run --name edb -e POSTGRES_USER=hibernate_orm_test -e POSTGRES_PASSWORD=hibernate_orm_test -e POSTGRES_DB=hibernate_orm_test -p 5444:5444 -d edb-test:15
172+
}
173+
167174
db2() {
168175
db2_11_5
169176
}
@@ -645,6 +652,46 @@ cockroachdb() {
645652
cockroachdb_22_2
646653
}
647654

655+
cockroachdb_23_1() {
656+
$CONTAINER_CLI rm -f cockroach || true
657+
LOG_CONFIG="
658+
sinks:
659+
stderr:
660+
channels: all
661+
filter: ERROR
662+
redact: false
663+
exit-on-error: true
664+
"
665+
$CONTAINER_CLI run -d --name=cockroach -m 6g -p 26257:26257 -p 8080:8080 cockroachdb/cockroach-unstable:v23.1.0-rc.1 start-single-node \
666+
--insecure --store=type=mem,size=0.25 --advertise-addr=localhost --log="$LOG_CONFIG"
667+
OUTPUT=
668+
while [[ $OUTPUT != *"CockroachDB node starting"* ]]; do
669+
echo "Waiting for CockroachDB to start..."
670+
sleep 10
671+
# Note we need to redirect stderr to stdout to capture the logs
672+
OUTPUT=$($CONTAINER_CLI logs cockroach 2>&1)
673+
done
674+
echo "Enabling experimental box2d operators and some optimized settings for running the tests"
675+
#settings documented in https://www.cockroachlabs.com/docs/v22.1/local-testing.html#use-a-local-single-node-cluster-with-in-memory-storage
676+
$CONTAINER_CLI exec cockroach bash -c "cat <<EOF | ./cockroach sql --insecure
677+
SET CLUSTER SETTING sql.spatial.experimental_box2d_comparison_operators.enabled = on;
678+
SET CLUSTER SETTING kv.raft_log.disable_synchronization_unsafe = true;
679+
SET CLUSTER SETTING kv.range_merge.queue_interval = '50ms';
680+
SET CLUSTER SETTING jobs.registry.interval.gc = '30s';
681+
SET CLUSTER SETTING jobs.registry.interval.cancel = '180s';
682+
SET CLUSTER SETTING jobs.retention_time = '15s';
683+
SET CLUSTER SETTING sql.stats.automatic_collection.enabled = false;
684+
SET CLUSTER SETTING kv.range_split.by_load_merge_delay = '5s';
685+
ALTER RANGE default CONFIGURE ZONE USING "gc.ttlseconds" = 600;
686+
ALTER DATABASE system CONFIGURE ZONE USING "gc.ttlseconds" = 600;
687+
688+
quit
689+
EOF
690+
"
691+
echo "Cockroachdb successfully started"
692+
693+
}
694+
648695
cockroachdb_22_2() {
649696
$CONTAINER_CLI rm -f cockroach || true
650697
LOG_CONFIG="
@@ -800,6 +847,7 @@ if [ -z ${1} ]; then
800847
echo "No db name provided"
801848
echo "Provide one of:"
802849
echo -e "\tcockroachdb"
850+
echo -e "\tcockroachdb_23_1"
803851
echo -e "\tcockroachdb_22_2"
804852
echo -e "\tcockroachdb_22_1"
805853
echo -e "\tcockroachdb_21_1"

0 commit comments

Comments
 (0)